av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

android - 為什么重復Replace Fragment會內存泄漏

瀏覽:111日期:2024-08-14 18:20:57

問題描述

android - 為什么重復Replace Fragment會內存泄漏

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

這是Fragment的代碼:

public class Fragment2 extends Fragment { private List<Bitmap> 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(); }

這是反復切換時的內存狀態:android - 為什么重復Replace Fragment會內存泄漏

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

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

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

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

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

謝謝!

問題解答

回答1:

把LeakCanary集成到代碼里面,看看是什么原因導致的內存泄露。而且內存圖上升,也不一定就是內存泄露。你每次申請了Bitmap,沒準沒達到GC的標準,那內存一直上漲也沒問題。

回答2:

不是 fragment 的問題,而是你用的bitmap 的原因

相關文章:
主站蜘蛛池模板: 在线看日韩 | 亚洲图片一区二区 | 精品一区二区三区在线观看 | 一级片免费观看 | 青娱乐av | 中文字幕一区二区三区在线观看 | 国产精品久久久久久中文字 | 91插插插插插 | 国产三级网| 91污视频在线观看 | 欧美日日日 | 免费一区二区视频 | 久久性色| 久久九 | 日韩激情一区二区 | 在线网站免费观看18 | 日韩精品一级 | a免费视频 | 精品欧美一区二区三区久久久 | 午夜网站在线观看 | 日韩成人中文字幕 | 二区三区视频 | 久久综合五月天 | 日韩精品免费在线观看 | 成人福利网 | 欧美一区二 | 99在线精品视频 | 亚洲黄色天堂 | 国产主播99 | 四虎4hu永久免费网站影院 | av在线一区二区三区 | 亚洲第一在线 | 一级片久久久 | 国产精品视频网 | 国产三级在线播放 | 色涩av | 精品国产区一区二 | 午夜国产福利 | 日韩a在线观看 | 成人做爰69片免费 | 免费成人深夜夜行网站 |