日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

如何在Android studio 中使用單例模式

瀏覽:14日期:2022-09-20 14:52:33

本篇簡單介紹如何在Android studio中 使用單例模式和使用注意事項。

單例模式

為什么要使用單例模式?

有一些對象我們只需要一個,只需要一個線程池 、緩存或是只有一臺打印機、機器人 、機器人上面只有一個尋磁傳感器。我們可以通過全局的靜態(tài)變量來實現(xiàn),但是全局變量在程序一開始就創(chuàng)建 可能比較耗費資源、可能一直沒用到。單例模式和全局變量一樣方便又沒有它的缺點。

單利模式使用

public class Sensor { // 使用靜態(tài)變量記錄唯一的實例 private static Sensor sensorInstance; /** * 私有的構(gòu)造方法 */ private Sensor(){} /** * 實例化方法 * @return Sersor * synchronized包住不會有兩個線程同時進入 */ public static synchronized Sensor getSersorInstance(){ if(sensorInstance == null) { sensorInstance = new Sensor(); } // 返回Sensor唯一實例 return sensorInstance; }}

但是如果想要很急切的創(chuàng)建示例,而且在示例創(chuàng)建方面的負擔不繁重。

public class Sensor { private static Sensor sensorInstance = new Sensor(); private Sensor(){} public static Sensor getSersorInstance(){ return sensorInstance; }}

如果有很多線程頻繁的使用getSersorInstance可能就影響性能,可以使用雙重檢查加鎖

public class Sensor { // volatile 保證 sensorInstance 被初始化 多個線程正確的處理 private volatile static Sensor sensorInstance; private Sensor(){} public static Sensor getSersorInstance(){ // 檢查 sensorInstance是否存在 如果不存在就進入同步區(qū)塊if(sensorInstance == null) { // 同步區(qū)塊里面的代碼只有在第一次才會執(zhí)行 synchronized(Sensor.class) {if(sensorInstance == null) { sensorInstance = new Sensor();} } } return sensorInstance; }}Android 中使用內(nèi)存泄漏問題

1.在實例化的時候我們經(jīng)常需要傳入一些參數(shù) 比如說 Context

然后順利成章的

Sensor sensor = Sensor.getSersorInstance(MainActivity.this);

然后出現(xiàn)了一個很嚴重的問題Sensor單例持有了MainActivity 的this對象,所以當我們轉(zhuǎn)跳其他Activity頁面的時候MainActivity 的對象仍然得不到釋放不能被回收。

所以我們應(yīng)該使用Application中的 context

2.同樣在急切的方法中

public class Sensor { public static final Sensor SENSOR_INSTANCE = new Sensor(); private List<MyListener> mListenerList; private Sensor() { mListenerList = new ArrayList<MyListener>(); } public static Sensor getInstance() { return SENSOR_INSTANCE; } public void registerListener(MyListener listener) { if (!mListenerList.contains(listener)) {mListenerList.add(listener); } } public void unregisterListener(MyListener listener) { mListenerList.remove(listener); } } interface MyListener { public void onSomeThingHappen(); }

MainActivity:

public class MainActivity extends Activity { private MyListener mMyListener=new MyListener() { @Override public void onSomeThingHappen() { } }; private Sensor sensor = Sensor.getInstance(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sensor.registerListener(mMyListener); }}

非靜態(tài)的內(nèi)部類(Sensor)的對象(mListenerList)都是會持有指向外部類對象(mMyListener)的引用。因此外部類對象(mMyListener)被持有了 同樣的不會被回收,內(nèi)存泄漏,所以需要

@Override protected void onDestroy() { Sensor.unregisterListener(mMyListener); super.onDestroy(); }

以上就是如何在Android studio 中使用單例模式的詳細內(nèi)容,更多關(guān)于在Android studio 中使用單例模式的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Android
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美日韩国产一区二区| 首页国产欧美久久| 日本特黄久久久高潮| 日韩1区2区3区| 日韩精品久久理论片| 日本免费在线视频不卡一不卡二| 91久久中文| 亚洲欧美日韩国产一区| 日韩精品亚洲aⅴ在线影院| 日本a级不卡| 国产精品一区二区三区四区在线观看| 国产一卡不卡| 麻豆91在线播放| 久久久久久色| 日韩精品欧美大片| 婷婷视频一区二区三区| 美女网站一区| 久久久久免费av| 激情欧美一区| 日韩中文字幕一区二区三区| 亚洲精选av| 久久黄色影视| 国产精品欧美大片| 国产福利资源一区| 国内自拍视频一区二区三区| 樱桃视频成人在线观看| 免费成人网www| 亚洲尤物av| 国产精品大片| 日韩久久一区二区三区| 亚洲免费影视| 日本精品一区二区三区在线观看视频| 国产情侣久久| 成人亚洲欧美| 香蕉久久夜色精品国产| 日本va欧美va精品发布| 精品国产a一区二区三区v免费| 国产成人精品亚洲线观看| 欧美亚洲激情| 亚洲精品进入| 国产一区二区三区四区二区 | 国产精品三级| 福利一区视频| 黑丝一区二区三区| 88久久精品| 久久精品官网| 日韩黄色av| 中文字幕一区久| 亚洲+小说+欧美+激情+另类| 精品美女在线视频| 亚洲国产成人精品女人| 国产日本精品| 欧美日韩黑人| 国产精品亚洲欧美日韩一区在线 | 日本亚洲三级在线| 精品三级久久久| 亚洲综合三区| 成人一区不卡| 亚洲免费毛片| 日韩大片在线观看| 欧美一区自拍| 欧美日韩高清| 精品一区二区三区视频在线播放| 好看不卡的中文字幕| 欧美国产专区| 亚洲欧美网站| 黄色aa久久| 日韩有吗在线观看| 欧美丝袜一区| 欧美黄页在线免费观看| 日av在线不卡| 99久精品视频在线观看视频| 国产精品成人3p一区二区三区| 国产精品免费看| 国产精品s色| 日韩精品一区第一页| 日韩精品看片| 免费视频一区二区三区在线观看| 免费精品视频| 性感美女一区二区在线观看| 国产探花在线精品一区二区| 99成人在线| av高清一区| 欧美激情麻豆| 日韩高清不卡一区| 免费成人性网站| 九色精品91| 日韩欧美网址| 精品视频久久| 日韩精品第二页| 在线亚洲欧美| 欧美丝袜一区| 久久激情婷婷| 黄毛片在线观看| 精品久久久久久久| 国产精品香蕉| 久久国产免费看| 日本亚洲最大的色成网站www | 日韩精品一区二区三区中文在线| 亚洲国产不卡| 欧美日韩在线网站| 黄在线观看免费网站ktv| 久久gogo国模啪啪裸体| 日本强好片久久久久久aaa| 亚洲制服欧美另类| 老牛影视一区二区三区| 在线亚洲精品| 免费日韩av片| 亚洲免费观看| 国产高清一区| 亚洲午夜av| 欧美一级精品| 在线观看免费一区二区| 新版的欧美在线视频| 91亚洲自偷观看高清| 精品一区电影| 狂野欧美性猛交xxxx| 国产精品欧美日韩一区| 国产精品www994| 美腿丝袜亚洲三区| 久久这里只有精品一区二区| 国产极品模特精品一二| 麻豆精品一区二区综合av| 欧美国产日本| 欧美天堂一区| 91麻豆精品| 欧美一区二区三区免费看| 日本欧美在线| 中文字幕亚洲精品乱码| 免费在线观看日韩欧美| 中文在线不卡| 玖玖玖国产精品| 综合亚洲色图| 亚欧洲精品视频在线观看| 四虎精品永久免费| 欧美亚洲二区| 国产精东传媒成人av电影| 精品视频一区二区三区四区五区| 精品一区二区三区中文字幕在线| 水蜜桃精品av一区二区| 日韩欧美三级| 午夜久久美女| 亚洲精品黄色| 日本色综合中文字幕| 麻豆视频一区二区| 中文字幕在线视频久| 久久国产成人午夜av影院宅| 亚洲欧美久久久| 欧美亚洲tv| 欧美xxxx中国| 亚洲国产专区| 人人爽香蕉精品| 国产伦一区二区三区| 黄色精品视频| 欧美午夜精彩| 都市激情国产精品| 夜夜嗨av一区二区三区网站四季av| 国产一区久久| 国产综合婷婷| 免费成人在线观看| 欧美亚洲一区二区三区| 麻豆中文一区二区| 视频福利一区| 中文字幕亚洲影视| 免费一级欧美在线观看视频| 亚洲综合在线电影| 久久亚洲不卡| 国产精品极品| 亚洲先锋成人| 日韩av三区| 欧美日韩国产观看视频| 亚洲欧美日本日韩| 国产精品亚洲四区在线观看| 亚洲美女久久精品| 美国三级日本三级久久99| 国产精品nxnn| 日韩午夜在线| 欧美黑人做爰爽爽爽| 久久中文视频| 欧美亚洲二区| 欧美成人综合| 国产精品主播| 欧美午夜不卡| 精品一区二区三区中文字幕在线| 一区在线观看| 欧美精品二区| 在线视频精品| 美女精品视频在线| 欧美日韩国产高清| 国产精品视频一区视频二区| 亚洲网站视频| 欧美一区二区三区久久精品| 国产剧情一区| 欧美+亚洲+精品+三区| 日本伊人久久| 天堂网av成人| 国产精品一区2区3区| 五月综合激情| 欧美a在线观看| 亚洲欧美视频|