Handler在Activity和Fragment中的内存泄露问题
来源:互联网 发布:2017年泰国耽美网络剧 编辑:程序博客网 时间:2024/06/05 11:30
解决方法:将handler声明为static静态方法
在activity中:
private final MyHandler handler=new MyHandler(this);//在activity中声明handler
private static class MyHandler extends Handler {
private final WeakReference mActivityReference;
MyHandler(Activity activity) {
this.mActivityReference=new WeakReference<>(activity);
}
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
final MainActivity activity = (MainActivity)mActivityReference.get();//获取弱引用队列中的activity
if(activity!=null){
switch(msg.what) {//获取消息,更新UI
}
}
}
}
//消息队列里面的消息移除
@Override
protected voidonDestroy() {
super.onDestroy();
_handler.removeCallbacksAndMessages(null);
context=null;
}
在fragment中
private final MyHandler handler=new MyHandler(this);//在activity中声明handler
private static class MyHandler extends Handler {
private final WeakReference mFragmentReference;
MyHandler(Fragment fragment) {
this.mFragmentReference=new WeakReference<>(fragment);
}
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
final MainFragment fragment= (MainFragment)mFragmentReference.get();
if(fragment!=null){
switch(msg.what) {//获取消息,更新UI
}
}
}
}
//消息队列里面的消息移除
@Override
protected voidonDestroy() {
super.onDestroy();
_handler.removeCallbacksAndMessages(null);
}
- Handler在Activity和Fragment中的内存泄露问题
- handler内存泄露问题
- Android Activity / Fragment内存泄露引论
- Handler作为Activity的内部类所引起的内存泄露问题
- Handler在Fragment中的使用
- 基于Activity、Fragment的生命周期避免MVP模式内存泄露的问题
- android 使用handler内存泄露问题
- 关于handler内存泄露的问题
- Handler导致的内存泄露问题
- Handler引起的内存泄露问题
- 安卓Handler造成内存泄露问题
- android handler的内存泄露问题
- Handler导致的内存泄露问题
- Handler引起的内存泄露问题
- 传送门---Handler 内存泄露问题
- 记录:关于匿名Handler内存泄露问题
- Android 内存泄露 和 Handler内存泄露 整理
- handler为activity的成员变量导致的内存泄露
- 在ubuntu16.04中安装python3.6.3和pip3.6
- utc date 转 本地时间(java)
- 【开发工具】推荐一款超快的安卓模拟器-genymotion
- css中元素不可见的几种办法
- [C]判断素数
- Handler在Activity和Fragment中的内存泄露问题
- Python多元线性回归-sklearn.linear_model,并对其预测结果评估
- 深入浅出进程关系分析Job Control(一)
- typedef的用法总结
- curl安装与命令使用 win+linux
- java list 转 树形json 递归效率对比
- spring1 配置方式注入
- RocketMQ原理解析-producer 2.如何发送消息
- 使用canvas绘制风景时钟