老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

由單例模式造成的內存泄漏

使用單例模式時,有時候不小心,就會很容易造成內容泄漏,如下代碼所示:

成都創新互聯公司服務項目包括濂溪網站建設、濂溪網站制作、濂溪網頁制作以及濂溪網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,濂溪網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到濂溪省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!

public class SingleInstance
{
private static volatile SingleInstance instance;
private Context context;
private SingleInstance(Context context)
{
    this.context = context;
}
public static SingleInstance getInstance(Context context)
{
    if(instance == null)
    {
        synchronized(SingleInstance.class)
        {
            if(instance == null)
            {
            instance = new SingleInstance(context);
            }
        }
    }
    return instance;
    }
}
public class MainActivity extends Activity
{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //leak occured
        SingleInstance.getInstance(this);
    }
}

上面的代碼中,傳入給單例對象的context是Activity的context,而單例對象是一個static對象,其生命周期與應用程序是一致的,(也就是說,只有應用程序進程被殺掉了,static對象才會被銷毀,因為static是類對象,而不是對象變量),該SingleInstance單例靜態對象持有當前Activity的context,當MainActivity退出時,由于instance還繼續只有其context引用,對造成系統無法銷毀該Activity,從而造成內存泄漏。

解決方法:

從以上分析中,可以看成,造成內存泄漏的主要原因就是static對象的生命周期與其持有對象引用(即Activity)的聲明周期不同而造成的,因此,解決內存的泄漏的方法有如下2種:

  1. 使用應用程序的getApplicationContext(),靜態對象的生命周期與應用程序的生命周期一致,故此不會導致內存泄漏。

  2. 持有傳入的context的弱引用。如下所示:

private WeakReference weakContext;
private SingleInstance(Context context)
{
    weakContext = new WeakReference(context);
}

如果某個時間點,MainActivity被GC了,由于持有的是MainActivity的弱引用,不會影響系統對MainActivity的回收,那么context就被置空了,所以后面要使用該context時,就需要判斷一下該若引用持有的對象是否還存在:

weakContext.get() != null


本文題目:由單例模式造成的內存泄漏
文章鏈接:http://www.xueling.net.cn/article/ipjcjo.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 少妇泬喷水18p | 国产成人一二三 | 国产老肥熟精品大全 | 国精产品一区一区三区免费完 | 亚洲啊啊啊啊啊 | 免费AV片在线观看蜜芽TV | 又嫩又硬又黄又爽的视频 | 学园默示录在线看 | 国产精品国产免费无码专区不卡 | 亚洲另类精品国产一级欧美忘忧草 | 国产欧美另类久久精品蜜芽 | 狠狠色狠狠色狠狠五月 | 国产精品爽爽爽爽爽爽在线观看 | 日本三级日本三级韩国三级视 | 九色蝌蚪少妇 | 亚洲欧美日韩国产综合V | 国产一精品一AV一免费爽爽 | xxxxwwww国产| 国产精品久久一区二区三区不卡 | 国产探花在线观看视频 | 国产九九九精品视频 | 亚洲精品无码AV在线观看 | 影音先锋亚洲AV资源网站 | 秋霞鲁丝片无码av | 成年免费大片黄在线观看一级 | 午夜院线 | 91精品全国免费观看含羞草 | 嫩草入口 | 人妻系列,一区二区三区 | 亚洲综合图区 | 夜夜操人人 | 黑人中文字幕一区二区三区 | av久久在线观看 | 国产精品入口久久 | 国产精品一区2区3区 | 英雄使命免费观看在线播放高清 | 91网站网址 | 乱肉合集乱高h交换 | 艹逼逼逼 | 久色在线三级三级三级免费看 | 久久免费国产 |