android 内存泄露那些事情之游标、文件、网络连接、广播(四)
2013-10-04 20:46
435 查看
android产生内存泄露的不良代码很多,数据库操作,忘记关闭游标;文件操作,忘记关闭输入输出流;网络操作,忘记关闭网络连接与输入输出流; 动态注册广播忘记反注册广播等等。 1.数据库操作,关闭游标。Cursor cursor=null; try { //TODO... } catch (Exception e) { e.printStackTrace(); } finally{ if(null!=cursor) { cursor.close(); cursor=null; } }
2.文件操作,关闭输入输出流。
[code] FileOutputStream fos=null;
try {
fos = new FileOutputStream(destFilePath);
int readCount = 0;
int len = 1024;
byte[] buffer = new byte[len];
while ((readCount = in.read(buffer)) != -1)
{
fos.write(buffer, 0, readCount);
}
fos.flush();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if (null != fos)
{
fos.close();
fos = null;
}
} catch (Exception e2) {
e2.printStackTrace();
}
try {
if (null != in)
{
in.close();
in = null;
}
} catch (Exception e3) {
e3.printStackTrace();
}
}
3.网络连接,关闭连接与输入输出流。
HttpURLConnection mHttpconn=null; try { //TODO ... } catch (Exception e) { e.printStackTrace(); }finally{ if(null!=mHttpconn) { mHttpconn.disconnect(); mHttpconn=null; } }
4.注册广播,需要反注册广播。
/** * 注册广播 */ private void register() { IntentFilter filter = new IntentFilter(); filter.addAction("your action............"); registerReceiver(mReceiver, filter); } /** * 反注册广播 */ private void unRegister() { unregisterReceiver(mReceiver); } /** * 广播 */ private BroadcastReceiver mReceiver=new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { } };
邮箱:zz7zz7zz@163.com
微博:http://weibo.com/u/3209971935[/code]
相关文章推荐
- android 内存泄露那些事情之Bitmap(二)
- android 内存泄露那些事情之Handler(一)
- android 内存泄露那些事情之View重用(三)
- android中图片的三级cache策略(内存、文件、网络)之三:文件缓存策略
- android中图片的三级cache策略(内存、文件、网络)
- Android网络连接相关广播
- Android 利用广播监视网络是否连接
- android:图片的三级缓存cache策略(内存/文件/网络)
- Android中图片的三级缓存(内存、文件、网络)
- Android中图片的三级cache策略(内存、文件、网络)
- android中图片的三级缓存cache策略(内存/文件/网络)
- android中图片的三级cache策略(内存、文件、网络)之二:内存缓存策略
- android中图片的三级cache策略(内存、文件、网络)
- Android 三级缓存Cache(内存,文件,网络)图片缓存设计
- android 获取网络图片缓存(内存—>文件—>网络)
- android中图片的三级cache策略(内存、文件、网络)
- Android利用广播监听设备网络连接(断网)的变化情况
- 【 Android官方文件读书笔记】连接网络
- android中图片的三级cache策略(内存、文件、网络)之二:内存缓存策略
- android--- Linux Proc虚拟文件系统—Android CPU、内存、网络流量获取