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.mzph.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;它们…