解决Cursor泄漏方案

来源:互联网 发布:java多线程视频教程 编辑:程序博客网 时间:2024/06/04 23:26
授之以鱼不如授之以渔.
在项目中经历了很多内存泄漏之后终于程序崩溃了.
最开始写代码的时候没有注意到Cursor的close(),特别是在一些业务return的时候很容易忘记.后来越写越多,泄漏的愈来愈多之后就崩不住了.
检查泄漏方法如下:
private static boolean devMode = true;  //也可以用(BuildConfig.DEBUG) {...}@Overrideprotected void onCreate(Bundle savedInstanceState) {    if (devMode)    {         StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()         .detectLeakedSqlLiteObjects()         .detectLeakedClosableObjects()         .penaltyLog()         .penaltyDeath()         .build());    }    super.onCreate(savedInstanceState);    ...    ...
测试只要你程序跑到了的地方,都能检测出来,导致程序崩溃,看日志就能找到具体的泄漏代码.
0 0
原创粉丝点击