App优化建议

Android App性能优化可以从代码,图片,布局,耗电量,App瘦身等方面来分析入手。以下主要是总结了在这几方面编码的一些建议。

代码

1.避免内存泄漏
Handler,Thread的生命周期与activity不一致
静态变量持有Activity context的引用
数据库流,网络流使用完后未关闭

2.优化数据结构
需要字符串拼接的操作时用StringBuffer(线程安全),StringBuilder替代String
执行效率 StringBuilder > StringBuffer(线程安全) > String
利用sparseArray替代HashMap
service运行周期不便于控制,容易造成service泄漏,尽量使用IntentService

3.耗时操作需要在线程中执行,避免ANR

4.正确认识强,软,弱,虚四种引用

图片

1.图片使用png无损格式,利用tinypng等软件进行压缩
2.多用xml方式绘制图片或.9图片以减小图片大小
3.设计多套分辨率图片按比例放入drawable文件夹,mdpi(160dpi基准)、hdpi(240dpi)、xhdpi(320dpi)、xxhdpi(480dpi)、xxxhdpi(640dpi)的图片load比例是2:3:4:6:8,能大大减小APP的内存占用
4.按实际大小缩放加载图片。读取BitmapFactory.Options,计算出缩放比例并设置参数inSampleSize
5.降低每个像素占用的字节,图片色彩rgb。 Bitmap.Config RGB_8888:一个像素占用4个字节,android系统使用该值做为默认值
6.缓存图片:LruCache 内存缓存算法,DiskLruCache 磁盘缓存算法
7.使用第三方库 glide(square),picasso(google),fresco(facebook)

图片占用APP内存=图片宽度 X 图片高度/((资源文件夹密度/手机屏幕密度)^2) * 色彩格式每一个像素占用字节数

LRU(Least Recently Used)近期最少使用的算法,它的核心思想是当缓存满时,会优先淘汰那些近期最少使用的缓存对象。如GridView显示大量图片时,运用二级缓存,先在内存中读取,再到磁盘读取,最后到网络上下载。

布局

1.减少代码嵌套层级。可利用约束布局constraintlayout。
2.合理使用布局标签:include(代码复用),viewstub(代码延时加载),megre(上级元素需是ViewGroup)

电量

核心是减少耗电大户功能的使用
1.减少BroadcastReceiver的使用
2.减少使用GPS
3.减少数据传输,压缩传输数据
4.减少AlarmManager使用

APP瘦身

1.优化图片占用空间
使用tinypng等工具压缩资源图片大小
多用xml方式绘制图片或.9图片以减小图片大小
2.使用Lint工具删除无用资源
3.开启代码混淆,设置shrinkResources
4.App插件化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用和引用的内容,AppData文件夹中的文件有些是空文件夹,可以删除,但有些则不是。因此,如果你发现AppData文件夹中的文件太大,你可以优化它,但需要谨慎操作。 在优化AppData文件夹之前,你可以尝试以下几个方法: 1. 清除临时文件:在AppData文件夹中,有一些临时文件可能会占用大量的存储空间。你可以在"AppData\Local\Temp"文件夹中查找并删除这些临时文件。 2. 清理浏览器缓存:如果你使用的是常见的网络浏览器,如Chrome、Firefox或Edge等,那么它们可能会将一些缓存文件保存在AppData文件夹中。你可以在浏览器的设置中找到清除缓存的选项,这样可以释放一些存储空间。 3. 删除不再需要的程序文件:如果你注意到AppData文件夹中有一些程序的文件,而你已经不再使用这些程序,你可以考虑卸载这些程序并删除相关的文件,以释放存储空间。 请注意,删除AppData文件夹中的文件可能会导致某些程序的个性化设置丢失,因此在删除之前,请确保你了解删除哪些文件的影响。如果你不确定某个文件是否可以安全删除,建议你在删除之前备份它们。 总结来说,如果你发现AppData文件夹中的文件太大,你可以通过清除临时文件、清理浏览器缓存和删除不再需要的程序文件等方法来优化它。但请谨慎操作,避免删除重要的个性化设置文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [appdata文件太大了可以删除吗?](https://blog.csdn.net/lihuiyun184291/article/details/123255873)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值