Android的内存优化「建议收藏」

Android的内存优化

大家好,又见面了,我是全栈君。

腾讯公司在五月三十一日开展【腾讯Bugly移动开发人员沙龙】大会。大会上面叶方正老师解说了 关于Android的内存优化的问题,只是我感觉叶老师许多其它的站在了測试的角度上去解释了这一方面,叶老师给我们介绍了许多的工具去測试Android应用在各种情况下的内存占用情况。只是好像对我们开发的帮助并非特别的大。我在这里总结叶老师所说的重点和自己对内存优化的一些理解,希望可以对大家有所帮助。


Android应用优化主要集中在内存和UI流畅度上。从内存占用与泄露、UI流畅度的帧数和响应时间到IO的堵塞式响应时间等。
内存优化

首先。为什么要优化内存?主要体如今OOM(Out of Memory)和导致UI不流畅上。对于手机来说。内存是一个很稀缺的资源,即使是如今普遍拥有着很大内存的Android手机也不可避免。

而造成内存泄露或者说引发OOM主要是由于下面四个原因:

  • 1、万恶的Static(通常见到在单例模式)
  • 2、大胖子bitmap位图
  • 3、多线程生命周期过长。导致本该释放的资源没有的到释放
  • 4、变量生成没有被关闭(I/O流。Cursor)

这些原因都会导致我们的应用程序内存被大量的占用。知道了原因之后自然也就有个处理的办法。

应用之中假设存在大量的static变量。假设这些static的变量在Activity被结束的时候得不到销毁。那么它就会一直占用着内存空间,特别是一些数组。假设这些静态变量许多的话。那么它占用的内存就是一个很可观的数目。那么解决的方法是什么那?
1、除非这个变量会在整个应用之中被大量的反复使用
2、假设这个变量以后都不会再被使用到了。那么记得把他销毁掉

而对于bitmap位图我们可以通过BitmapFactory.Options的inSampleSize属性使他占用更小的空间。

第三个第四个问题,就仅仅能自己记得释放他。比方在onStop()或者onDestory()方法里面把它滞空。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116513.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LayUI树形表格treetable使用详解[通俗易懂]

    LayUI树形表格treetable使用详解[通俗易懂]LayUI是现在比较流行的一款前端框架,也有很多人基于LayUI开发了很多不错的组件,比如treetable树形表格。因为treetable是第三方基于LayUI开发的,所以需要先用Layui引入一下文件。layui.config({base:’static/layui/’}).extend({treetable:’treetable-lay/treetab…

    2022年6月13日
    300
  • lib文件和dll文件的区别_dll2lib

    lib文件和dll文件的区别_dll2lib一.简介1.1C++两种库文件lib包含了函数所在的dll文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的dll提供,称为动态链接库dynamiclinklibrary。

    2022年8月4日
    5
  • 服务器的公网ip 和内网ip

    服务器的公网ip 和内网ip原文地址:https://zhidao.baidu.com/question/814783729071869532.html服务器公网ip  可以用于域名解析ip,服务器远程登录ip,是最主要的服务器ip地址。内网ip  不能用于域名解析。  不可以直接用于服务器远程登录,其主要作用是:跟当前帐号下的其他同集群的机器通信。  一些小型企业或者学校,通常都是申请一个固定的IP地址,…

    2022年5月6日
    33
  • Vue框架快速入门

    Vue框架快速入门Vue是现在最流行的前端框架之一,而且相对于其他两个框架React和Angular来说也更加易学,而且它的作者是国人,中文文档也很完善。当然Vue框架算是比较高级的框架,所以在使用过程中还需要JavaScript、JavaScript2015、WebPack、NodeJS、npm、ESLint、JavaScript单元测试框架等其他知识和框架的使用方法。在学习Vue之前,最好先学习一下这些知识。由

    2022年6月1日
    36
  • 3D建模初学者必知

    3D建模初学者必知3d建模师是当下是分热门的职业,3dmax这个庞大的软件应用十分重要,它广泛应用于影视动画、游戏、广告、建筑设计等领域。许多零基础的同学面对如此庞大又复杂的软件,该如何学习呢?学习3dmax是一个长期的过程,不可急于一时,下面几个知识点是初学者必须要掌握的。1.平面图的编辑3dmax属于设计类软件,这类软件学习时必须掌握最基本的平面构图能力,场景空间大小、色彩搭配与所要展示事物的关联度都是最重要的基础。平面图就是3d空间的基础,二维空间好对三维空间的建造很有帮助。…

    2022年5月12日
    35
  • kafuka安装启动

    kafuka安装启动https://www.jianshu.com/p/ce203d4e2f41

    2022年5月3日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号