位置: 编程技术 - 正文

android:内存优化总结(android内存优化 简书)

编辑:rootadmin

推荐整理分享android:内存优化总结(android内存优化 简书),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android内存优化三 简书,android内存优化三 简书,android内存优化内存泄露 简书,android内存优化内存泄露 简书,android内存优化工具,Android内存优化,android内存优化面试,android内存优化面试,内容如对您有帮助,希望把文章链接给更多的朋友!

android的内存优化对于大型的android项目来说,十分重要!今天就选几个常见的列举一下

1. Context的引用

在Activity和Fragment之外,使用Context的时候,尽量使用Application Context,在AndroidAnnotations中,也即是:

原因:应用的Context的生命周期很长,它与我们的app共存亡;我们尽量不要去hold Activity的Context,因为它的生命周期较短,否者,可能出现,Activity退出后,其Context依然被EBean的对象所持有。

2.Bitmap

Bitmap是android占用内存的大户,我们需要注意:

2.1 不在需要的Bitmap,要及时调用recycle()进行销毁。

2.2 设当的时候,使用Bitmap的时候,可以设置一定的采样率

3.Cursor

我们在读取第三方应用或者系统的ContentProvider的时候,通常会通过调用getContentResolver()的增删改查方法,获得Cursor对象,然后进行操作。操作完成后,务必要记得关掉!

4.ListView和GridView

ListView和GridView要进行View的复用,不懂复用的程序员,不是合格的android程序员。

5.自定义控件

我们自己经常通过View或者SurfaceView自定义自己的控件,通常会使用一个Thread,定期的去绘制,View通常使用postInvalidate()和onDraw()方法配合等等,注意:我们Override它的onDetachWindow方法的时候,要记得及时停止线程的绘制和资源的释放,特别是一些图片资源。

6.BroadcastReceiver一定要检查register和unregister的成对出现。

android:内存优化总结(android内存优化 简书)

7.Handler使用的时候,要声明为static

8.我们在单例模式下的内中的java 容器,如List,Queue,Stack,Map等,在适当的时候,要及时调用clear方法,因为,如果这些容器依然保留那些不再适用的对象的引用,JVM会认为该对象依然被引用,不会得到释放,如果运用不恰当,会出现内存泄露。

..............................

内存的分析工具:

1.Eclipse中,打开DDMS视图,选中我们应用的包名,我们可以Dump出我们应用的内存占用情况

2.Eclipse的第三上插件MAT(内存分析工具)

3.adb命令

我们可以通过如下步骤:

a). adb shell

adb进入手机

b). ps

查看所有的进程和包名,注意,我们需要查看,我们的应用对用的包名和pid(进程ID)

c). dumpsys meminfo <应用对用的pid>

通过该命令来查看内存的占用情况。

如下图是chrome浏览器的内存占用情况:

我们可以不断的通过操作我们的应用,实时查看内存的占用情况,以定位问题。

未经允许不得用于商业目的

欢迎加入QQ群讨论:android开发联盟:

android:ListView的局部刷新 1.简介对于android中的ListView刷新机制,大多数的程序员都是很熟悉的,修改或者添加adapter中的数据源之后,然后调用notifyDataSetChanged()刷新ListView。在这

Android: Receiving Data from the Send Intent,将自己的app注册系统分享 当用户在系统相册,点击分享时,能通过我们自己的app,分享该图片。1.注册主要是在AndroidManifest.xml中,对activity注册Intent-filter,如:activityandroid:name=.u

androidannotations的background和UiThread配合使用参考 简介androidannotations在开发中的代码规范思考:(MVC思考)时间太紧,先贴代码:Activity的代码:packageedu.njupt.zhb.main;importorg.androidannotations.annotations.AfterVie

标签: android内存优化 简书

本文链接地址:https://www.jiuchutong.com/biancheng/371351.html 转载请保留说明!

上一篇:android:View的setTag和getTag使用

下一篇:android:ListView的局部刷新

  • 增值税专用发票和普通发票的区别
  • 公司税务注销流程是否要不发生业务多久
  • 非独立核算增值税在哪里交
  • 滞纳金按年怎么算
  • 金蝶迷你版会计科目代码格式
  • 小规模纳税人综合税负
  • 地产股权收购公司的账务处理
  • 简易征收一般纳税人可以收专票吗
  • 餐听发票可以开专用发票吗?
  • 契税和印花税入哪个科目
  • 废旧物品回收是做什么的
  • 收到委托代销清单的会计分录
  • 工程决算条件
  • 建材销售公司需要交哪些税
  • 过期未抵扣的发票对企业有什么影响
  • 增值税罚款怎么做凭证
  • 没进项发票要交多少税
  • 企业开票信息可以改吗
  • 以前年度应扣未扣支出
  • 2023增值税免税政策
  • 本期应付而未付工资挂账处理?
  • 键盘插上电脑却不能用
  • 不用itunes怎么下载软件
  • 中国石化开的增值税票是几个点的
  • 企业所得税汇算清缴扣除标准2023
  • 个人福利需要缴纳个税吗
  • 物流公司的财务能学到东西吗
  • 一般纳税人销售自己使用过的汽车
  • 企业预收账款缴哪些税
  • 一个集团的分公司干过活再去另一个分公司会被发现吗
  • 电脑取消共享文件夹
  • 销售商品收到商业汇票一张该笔业务应编制的记账凭证是
  • vue3elementplus首页布局
  • 加工费计入什么成本类别
  • 自己组装产品再卖掉
  • thinkphp连接查询少数据
  • vuerouter模块化
  • php获取文件名称
  • yum命令详解
  • 委托代销商品委托方和受托方会计分录
  • 发票勾选平台进入后没有什么内容
  • 金税服务费必须交吗
  • 退休认证在网上怎么操作
  • 社保费怎么做记账凭证
  • php登录不了
  • java队列用法
  • 涉税金额是指金额还是税额
  • 工厂的污水处理站作用
  • mongodb副本集群
  • 不发工资可以先报警吗
  • 装订会计凭证步骤
  • 个人所得税计算器公式
  • 自然人独资交企业所得税吗
  • 电子承兑汇票到期后多少天能兑现
  • 出口退免税的税种包括增值税消费税企业所得税
  • 政府补助会计处理方法由总额法变为净额法
  • 合并报表抵消分录的基本原理
  • 物业费的会计处理
  • 货款尚未收到增值税
  • 公司对外投资企业与行政许可的区别是什么
  • 大金额维修费用怎么入账
  • xp系统登录界面登录管理员账号
  • win10安全系统
  • windows server 2008 硬盘格式
  • vmware虚拟机怎么卸载不了
  • linux arp -n
  • linux系统添加用户的命令
  • linux软件少
  • bat批处理命令大全
  • linux查看端口占用情况并杀掉进程
  • jquery使用css
  • Python中urllib+urllib2+cookielib模块编写爬虫实战
  • unity ti
  • json数据格式的理解
  • 卷票真伪查询系统国税
  • 车船税完税证明开具如何开具
  • 重庆国税电子税务局
  • 张雪峰谈建筑专业
  • 掌上12333怎么交社保卡费用
  • 2020年国税和地税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设