被問(wèn)到的奇葩問(wèn)題

前幾天去面試時(shí)遇到個(gè)技術(shù)問(wèn)了個(gè)讓我一臉懵逼的問(wèn)題,大概是他在ActivityB中需要ActivityA的實(shí)例,所以他在ActivityA中搞了個(gè)靜態(tài)變量引用ActivityA實(shí)例。然后直接在ActivityB中使用。

至于我為啥懵逼,那是因?yàn)樗皠倖?wèn)過(guò)我內(nèi)存泄漏的問(wèn)題
內(nèi)存泄漏嘛,簡(jiǎn)單說(shuō)就是該釋放的內(nèi)存沒(méi)釋放掉

相信大家都知道在android中static修飾的變量的生命周期等同于整個(gè)app的運(yùn)行周期。如果如上文中那么做,假設(shè)不把ActivityA中引用自己的靜態(tài)變量置為null,那么ActivityA的實(shí)例就會(huì)一直存在直到app運(yùn)行結(jié)束,即使在ActivityA中調(diào)用finish()來(lái)關(guān)閉ActivityA,onDestroy即使被調(diào)用ActivityA也依然存在,ActivityA中類(lèi)變量也沒(méi)有釋放掉,內(nèi)存空間也依然被占用。
這就是非常典型的內(nèi)存泄漏嘛。

所以記下這個(gè)來(lái)時(shí)時(shí)提醒自己,項(xiàng)目中慎用static。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線(xiàn)程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,633評(píng)論 18 399
  • 循環(huán)引用:http://ios.jobbole.com/82077/類(lèi)別的作用功能:1.擴(kuò)充現(xiàn)有類(lèi)的功能2.對(duì)現(xiàn)有...
    得一切從簡(jiǎn)閱讀 581評(píng)論 0 1
  • 1.什么是垃圾回收? 垃圾回收(Garbage Collection)是Java虛擬機(jī)(JVM)垃圾回收器提供...
    簡(jiǎn)欲明心閱讀 90,349評(píng)論 17 311
  • 這篇文章是我之前翻閱了不少的書(shū)籍以及從網(wǎng)絡(luò)上收集的一些資料的整理,因此不免有一些不準(zhǔn)確的地方,同時(shí)不同JDK版本的...
    高廣超閱讀 16,040評(píng)論 3 83
  • 一、運(yùn)行時(shí)數(shù)據(jù)區(qū)域 Java虛擬機(jī)管理的內(nèi)存包括幾個(gè)運(yùn)行時(shí)數(shù)據(jù)內(nèi)存:方法區(qū)、虛擬機(jī)棧、本地方法棧、堆、程序計(jì)數(shù)器,...
    加油小杜閱讀 1,584評(píng)論 1 15

友情鏈接更多精彩內(nèi)容