• Android内存优化13 内存泄漏常见情况4 资源泄漏


    资源未关闭或释放导致内存泄露

    在使用IOFile流或者SqliteCursor等资源时要及时关闭。这些资源在进行读写操作时通常都使用了缓冲,如果及时不关闭,这些缓冲对象就会一直被占用而得不到释放,以致发生内存泄露。因此我们在不需要使用它们的时候就及时关闭,以便缓冲能及时得到释放,从而避免内存泄露。

    1.数据库的cursor没有关闭。

    操作Sqlite数据库时,Cursor是数据库表中每一行的集合,Cursor提供了很多方法,可以很方便的读取数据库中的值,
    可以根据索引,列名等获取数据库中的值,通过游标的方式可以调用moveToNext()移到下一行
    当我们操作完数据库后,一定要记得调用Cursor对象的close()来关闭游标,释放资源。

    2,未关闭InputStream/OutputStream。

    3,Bitmap对象不在使用时调用recycle()释放内存

    4,BraodcastReceiver,ContentObserver,File,Cursor,Stream,Bitmap

  • 相关阅读:
    LightOJ 1030 Discovering Gold(期望)
    CodeForces 567B Berland National Library
    HDU
    HDU
    (模拟、进制转换)
    HDU
    HDU
    CodeForces 429 B B. Working out
    CodeForces 546 D. Soldier and Number Game(素数有关)
    2016中国大学生程序设计竞赛
  • 原文地址:https://www.cnblogs.com/ldq2016/p/8473599.html
Copyright © 2020-2023  润新知