android 釋放bitmap fragment,,為什么重復Replace Fragment會內存泄漏

bVMPg3?w=1080&h=1920

如圖,當點擊下面的兩個按鈕時,REPALCE上面的Fragmnet,共兩個,反復切換時發生了內存泄漏

這是Fragment的代碼:

public class Fragment2 extends Fragment {

private List lb = new ArrayList<>();

@Nullable

@Override

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

allocBitMap();

allocBitMap();

return inflater.inflate(R.layout.f2, container, false);

}

private void allocBitMap() {

Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.men);

lb.add(b);

}

@Override

public void onDestroy() {

Log.e("onDestroy", "yes, onDestroy");

super.onDestroy();

}

}

這是Activity的部分代碼

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.bt_left:

transFragleft();

break;

case R.id.bt_right:

transFragright();

break;

}

}

Fragment f1 = new Fragment1();

Fragment f2 = new Fragment2();

private void transFragleft(){

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

ft.replace(R.id.rl_f, f1);

ft.commit();

}

private void transFragright(){

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

ft.replace(R.id.rl_f, f2);

ft.commit();

}

這是反復切換時的內存狀態:

bVMPjr?w=467&h=134

這是LOGCAT,可以看到onDestroy執行了,整個Fragment生命周期馬上就結束了

04-27 09:46:04.682 29320-29320/com.sg.fragmentpitfall E/onDestroy: yes, onDestroy

04-27 09:46:06.344 29320-29320/com.sg.fragmentpitfall E/onDestroy: yes, onDestroy

04-27 09:46:07.895 29320-29320/com.sg.fragmentpitfall E/onDestroy: yes, onDestroy

那么為什么他占用的那塊內存還在呢?

提問2:

JAVA中怎樣分配一定內存,用于實驗,我這種bitmap的方法太LOW了,而且里面還有CONTEXT;

提問3:

是否應該避免使用FRAGMENT(我知道用HIDE/SHOW的方式要比REPLACE要好

謝謝!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538201.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538201.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538201.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Improved GAN

https://www.bilibili.com/video/av9770302/?p16 從之前講的basic gan延伸到unified framework&#xff0c;到WGAN 再到通過WGAN進行Generation和Transformation 復習一下GAN&#xff0c; 首先我們有一個目標&#xff0c;target分布&#xff0c;Pdata&#xff0c; 藍色部分表示…

cython加密代碼python_利用Cython對python代碼進行加密

利用Cython對python代碼進行加密Cython是屬于PYTHON的超集&#xff0c;他首先會將PYTHON代碼轉化成C語言代碼&#xff0c;然后通過c編譯器生成可執行文件。優勢&#xff1a;資源豐富&#xff0c;適合快速開發。翻譯成C后速度比較快&#xff0c;在windows環境中用cython加密后的…

Linux ftp 命令

[deepenvd26wyjl01 ~]$ ftp IP地址 Connected to 10.xxxx.191 (10.xxxx191). 220-FileZilla Server 0.9.53 beta 220-written by Tim Kosse (tim.kossefilezilla-project.org) 220 Please visit https://filezilla-project.org/ Name (10.xxxx.191:deepen): yzcloud 331 Passwo…

android viewpager 間隔,viewpager 系統兼容 clipChildren 頁卡間距

此效果在4.4以下有個bug&#xff0c;兩邊的會有遮蓋&#xff0c;但是一滑動就沒事了。。。此時需要給viewpager設置onpagerchangedListener 刷新父布局invalidateviewpager.setPagerMargin();//設置頁卡間隔viewpager.setOffscreenPageLimit(); 設置緩存數量viewpager的父布局…

python web驗證碼_python web框架Flask——手機短信驗證碼

下列代碼都是以自己的項目實例講述的&#xff0c;相關的文本內容很少&#xff0c;主要說明全在代碼注釋中。我是使用阿里云云通信的短信服務&#xff0c;第一次使用會摸不著頭緒&#xff0c;這里我們需要做些準備工作&#xff1a;1、登陸自己的賬號進入阿里云官網&#xff0c;沒…

機器學習:樣本集、驗證集(開發集)、測試集

樣本集、驗證集&#xff08;開發集&#xff09;、測試集。 Ripley, B.D&#xff08;1996&#xff09;在他的經典專著Pattern Recognition and Neural Networks中給出了這三個詞的定義。 Training set: A set of examples used for learning, which is to fit the parameters [i…

Linux ftp傳送問題 WARNING! 258831 bare linefeeds received in ASCII mode

WARNING! 258831 bare linefeeds received in ASCII mode 原因是傳輸時ftp的傳輸類型不一致。 在上傳的時候&#xff0c;選擇傳輸類型為 二進制 在Linux上用ftp命令get的時候&#xff0c;也要設置二進制 ftp> binary // 設置傳輸方式為binary

html輸入支付密碼樣式,基于JS實現類似支付寶支付密碼輸入框

基于JS實現類似支付寶支付密碼輸入框2019-01-06編程之家https://www.jb51.cc編程之家收集整理的這篇文章主要介紹了基于JS實現類似支付寶支付密碼輸入框&#xff0c;編程之家小編覺得挺不錯的&#xff0c;現在分享給大家&#xff0c;也給大家做個參考。本文實現的是一個類似支付…

海康+螢石云+云存儲多少錢一個月_400萬極清畫質 螢石C6Wi智能家居攝像機

作為全球最大安防企業海康威視旗下子品牌&#xff0c;螢石以“家庭安防”切入智能家居市場&#xff0c;螢石C6Wi作為一款融合目前市面上云臺攝像頭最新設計和最全功能的產品&#xff0c;其外觀設計獲得多項國際大獎&#xff0c;支持2K分辨率(25601440)及4倍變焦拍攝、微光全彩、…

unzip 報錯error [clas.zip]:? missing 1844 bytes in zipfile

error [clas.zip]: missing 1844 bytes in zipfile 解決方法&#xff1a; http://blog.csdn.net/zengmingen/article/details/78604574

Vue+axios統一接口管理

通過axios請求接口已經很簡單了&#xff0c;但最近在做一個vue項目&#xff0c;想著把axios請求再封裝一下&#xff0c;這樣api就可以只在一處配置成方法&#xff0c;在使用的時候直接調用這個方法。 但咱們不用每個接口都定義成一個啰嗦的axios請求方法&#xff0c;既然是想簡…

html網頁 table布局實例,HTML用Table表格對網頁布局

HTML是用于開發網頁的“超文本標記語言”&#xff0c;今天我們一起來學習一下HTMLCSS網頁布局中Table布局方式。常見的網頁布局用CSS而言一般有經典行布局、經典列布局、雙飛翼布局、圣杯布局等。今天小編教大家用Table表格布局。大家先來欣賞幾個網頁&#xff1a;這幾個網頁布…

vue設置輸入框輸入長度_Vue實現input寬度隨文字長度自適應操作

業務需求&#xff0c;輸入文字&#xff0c;后面的元要緊隨其后&#xff0c;奈何input默認是有寬度&#xff0c;我想要達到&#xff0c;輸入文字&#xff0c;動態改變input的寬度,試了很多方法&#xff0c;目前自己琢磨一種&#xff0c;有遇到問題的可以參考一下&#xff0c;直接…

JDBC 連接Hive 簡單樣例(開啟Kerberos)

今天在移動的云平臺上通過jdbc連接hive&#xff0c;發現云平臺使用了 kerberos的認證。與寧波實驗環境不同。 發現一文解決了問題&#xff0c;轉載如下&#xff1a; 原文地址&#xff1a;http://blog.csdn.net/zengmingen/article/details/78605086 -----------------------…

新年快樂輪播特效html,基于owl-carousel的卡片水平輪播展示特效

這是一款基于owl-carousel的卡片水平輪播展示特效。該卡片輪播展示特效可以通過前后導航按鈕來切換卡片&#xff0c;它是響應式設計&#xff0c;在手機等小屏幕設備上&#xff0c;會自動調節為只展示一個卡片。使用方法在頁面中引入bootstrap.css和style.css文件&#xff0c;以…

parameter縮略語_“參數”的英文縮寫有嗎?

展開全部“參數”的英文e69da5e887aa3231313335323631343130323136353331333365643662縮寫是“parm”。1.音標&#xff1a;[ prɑ:m ]2.具體含義&#xff1a;參數3.雙語例句&#xff1a;It involves the same parameter as that involved in the enhancement factor for coagul…

JDBC實現從Hive抽取數據導入Oracle

環境&#xff1a;浙江移動華為云平臺 云平臺大數據采用了 Kerberos 認證。 開發歷程&#xff1a; 1、在寧波大數據實驗環境測試通過了JDBC實現從Hive抽取數據導入Oracle功能。 2、通過查看其它項目的數據庫訪問配置&#xff0c;知道了云平臺上的oracle配置。 3、獲取hive的…

加拿大計算機專業學什么,加拿大哥倫比亞大學計算機專業課程

計算機專業是加拿大哥倫比亞大學研究生熱門專業&#xff0c;很多準備申請加拿大研究生留學的都非常關心加拿大英屬哥倫比亞大學計算機專業研究生申請需要注意哪些問題?針對這個問題&#xff0c;出國留學小編為大家進行簡要介紹。英屬哥倫比亞大學計算機科學碩士專業優勢&#…

PC,移動端H5實現實現小球加入購物車效果

HTML部分&#xff1a; <!DOCTYPE html> <html> <head><meta http-equiv"content-type" content"text/html; charsetUTF-8"><title>基于jquery.fly模仿天貓拋物線加入購物車特效代碼</title><style>* {margin: 0…

云桌面部署_云桌面時代降臨-青椒云工作站

云計算理念是當代互聯網時代的新型理念&#xff0c;用戶享受的所有資源、所有應用程序全部都由一個存儲和運算能力超強的云端后臺來提供。云桌面是基于云計算技術&#xff0c;實現各種終端設備之間的互聯互通。我們的電子設備等都只是一個單純的顯示和操作終端&#xff0c;它們…