AsyncTask的深度优化(内存泄露)
来源:互联网 发布:aa录音软件下载 编辑:程序博客网 时间:2024/05/16 09:11
AsyncTask底层虽然是封装了线程和handler,但是不可避免的出现了内存泄露的问题。
直接上代码:
package com.bmsh.router.http;import java.lang.ref.WeakReference;import com.bmsh.router.inteface.RouterMsgCallback;import android.os.AsyncTask;public abstract class WeakAsyncTask<Params, Progress, Result, WeakTarget>extends AsyncTask<Params, Progress, Result> {protected WeakReference<WeakTarget> mTarget;public WeakAsyncTask(WeakTarget target) {mTarget = new WeakReference<WeakTarget>(target);}/** {@inheritDoc} */@Overrideprotected final void onPreExecute() {final WeakTarget target = mTarget.get();if (target != null) {this.onPreExecute(target);}}/** {@inheritDoc} */@Overrideprotected final Result doInBackground(Params... params) {final WeakTarget target = mTarget.get();if (target != null) {return this.doInBackground(target, params);} else {return null;}}/** {@inheritDoc} */@Overrideprotected final void onPostExecute(Result result) {final WeakTarget target = mTarget.get();if (target != null) {this.onPostExecute(target, result);}}protected void onPreExecute(WeakTarget target) {// No default action}protected abstract Result doInBackground(WeakTarget target,Params... params);protected void onPostExecute(WeakTarget target, Result result) {// No default action}}
自己写的task类来继承这个类即可
0 0
- AsyncTask的深度优化(内存泄露)
- Android中AsyncTask的内存泄露
- Android 防内存泄露的AsyncTask--WeakAsyncTask
- Android之AsyncTask的内存泄露问题
- Android内存优化(内存泄露)
- Android关于内存泄露的优化
- 泄露内存之:handler的优化
- 优化JS引起UIWebview的内存泄露
- 【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
- 【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
- 【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
- 【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案
- android内存泄露优化
- Android内存泄露优化
- 项目----1(在项目开发中AsyncTask与Activity生命周期不一导致内存泄露的问题)
- Android内存溢出与优化(四)——防止Handler导致的内存泄露
- android内存优化-Activity, Thread引起的内存泄露0
- 深度学习框架的内存优化机制
- 天声人語
- mosquitto-1.4.2安装配置教程
- 什么情况让程序员处于水深火热中-兄弟连IT教育
- 【计算机网络】:五层协议的体系结构的模拟实现
- Android横竖屏切换总结
- AsyncTask的深度优化(内存泄露)
- Linux操作系统下软件的安装方法大全
- 查看系统32位还是64位的3种方法
- Mysql 小结
- Eclipse 快捷键 整理
- 所有SQL*Loader实验笔记
- AT命令
- 观察者模式
- 缓存工具DiskLruCache