android产生内存泄露的不良代码很多,数据库操作,忘记关闭游标;文件操作,忘记关闭输入输出流;网络操作,忘记关闭网络连接与输入输出流;

动态注册广播忘记反注册广播等等。

1.数据库操作,关闭游标。

Cursor cursor=null;try {//TODO...} catch (Exception e) {e.printStackTrace();} finally{if(null!=cursor){cursor.close();cursor=null;}}

2.文件操作,关闭输入输出流。

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(){@Overridepublic void onReceive(Context context, Intent intent) {            }};

邮箱:zz7zz7zz@163.com

微博:http://weibo.com/u/3209971935



更多相关文章

  1. 关于android.view.WindowLeaked(窗体泄露)的解决方案
  2. Android(安卓)最简单的应用间跳转小结
  3. Android(安卓)高德地图 INVALID_USER_KEY 错误解决方案
  4. 据说程序员是最爱学习的群体,IT男都知道,这个行业日新月异,必须不断
  5. Android(安卓)Studio 真机调试vivo系列手机安装失败处理
  6. android默认关闭Location服务及关闭锁屏功能
  7. Android(安卓)4.4 Kitkat Phone工作流程浅析(九)__状态通知流程
  8. Android(安卓)调用本地通讯录,广播接收
  9. 看黑马安卓基础教学视频总结(广播)

随机推荐

  1. 实现数组去重的 9 种高阶方法
  2. 如何正确使用 Python 的 Lambda 函数
  3. 公司用的 MySQL 团队开发规范,太详细了,建
  4. Java 中的屠龙之术:如何修改语法树?
  5. 如何优雅的捕获所有异步 error?
  6. 如何在 Linux 下快速找到被删除的文件?
  7. MySQL 常用脚本
  8. 用户添加,修改,删除
  9. IT云厂商和互联网云厂商在ToB领域的几个
  10. Elasticsearch实战总结