首页 > 编程知识 正文

掌握系统优化的方法,Android性能优化

时间:2023-05-05 00:55:36 阅读:61514 作者:2034

安卓系统优化内核优化DTS优化内核编译配置优化配置、服务、 framework优化native service优化system_server中服务优化类预加载优化资源预加载优化字典优化内存预加载优化预加载优化APP应用合理的布局防止内存泄漏内存

内核优化DTS优化

删除不需要的节点

内核配置优化参考《kernel .config优化》https://blog.csdn.net/MCS Bary/article/details/90264591

配置、服务、框架优化native service优化启动后,查看/目录下的rc文件以确定不需要的服务,用源代码删除,然后编译系统,实现系统稳定性和/或目录

注意:某些服务与其他模块相关,要删除一个服务,必须同步删除对其他模块中删除的服务的依赖关系。

在system_server服务优化中, 可以使用属性关闭不需要的服务config.disable _ location=true config.disable _ search manager=true config.disable _ Sam manager 删除details/104499750http://www.Sina.com/system _ server上的某些服务后,必须删除一些本机apk。就个人而言,过多的异常对系统来说也是混乱的类的预加载优化预加载类的作用

减少内存消耗。 如果一个类被多个进程使用,则预加载可以共享一个加载。 否则,每个进程都将加载加速器APP应用程序的启动。 如果内存中加载了启动app应用程序时所需的所有类,则app启动速度会更快;如果app所需的类很多,则效果会更明显。 因此,预加载优化是一把双刃剑,优化越多,启动速度越快,但会影响依赖于被删除类的app的启动,每个app都会加载被删除的类,增加内存消耗。

在某些类中,如果仅在特定场景中使用Android开发的产品,则不需要加载蓝牙等模块。 需要优化预载以测量性能。

步骤如下。

编辑frameworks/base/preloaded-classes文件,删除不需要预加载的类编译代码写入验证。 删除某些核心类后,系统无法正常启动。 除了直接修改预加载的类文件外,还可以修改用于生成预加载类的代码,然后重新生成预加载的类文件

优秀博客: https://blog.csdn.net/u 014029448/article/details/81129382

资源预载优化类和资源预载优化: https://blog.csdn.net/Jin Ron 10/article/details/89315392

android启动速度优化: https://blog.csdn.net/chenyong 1987 09 04/article/details/12912093

快速查看Android启动速度优化: https://blog.csdn.net/fresh ui/article/details/53700771

开源项目:

3359 gitee.com/lucky Billy/preloader

词典优化参考《内存优化减少字库缓存》https://blog.csdn.net/MCS Bary/article/details/89363082

内存优化预加载优化预加载优化和内存优化是不一致的,如果选择快速启动,则启动后加载的资源会更多。 需要合理测定需求。

应用合理布局合理设计布局,严格按照分辨率设计图像。

内存泄漏防止java层:由于不正确的引用导致的内存泄漏

第c层:分配的内存未释放

这是常见的两种内存泄漏,都可以用电机通过PSS、RSS等分析有无内存泄漏。 长期以来,大数据会放大一点点的泄漏。

使用内存压缩内存压缩,增加了内存利用率,但必然会增加kernel在成都的负荷,在cpu资源方面的占用一定会在成都增加,如果cpu性能不特别强,就会影响运行性能,影响体验感。

为了不影响性能并节约内存,在高性能cpu中安装低内存时可能可以使用此策略。

关闭内存压缩

从分区表中删除压缩缓存分区kernel使用ZRAM配置Android ION分配内存已在Android 7.1中使用。 在kernel中关闭ION将导致启动系统无法启动

如果关闭jit并在Android中运行,jit将根据实际运行情况对运行性能进行一些优化。 关闭git在一定的成都节约内存,在性能差的cpu上对性能有很大的影响

build/target/product/runtime _ libart.MK :603360 dal vik.VM.use JIT=falsebuild/target/product/runtime

ro.config.low_ram=true定时释放kernel缓存linux临时释放缓存: https://blog.csdn.net/kill voon/article/details/73557999

在释放缓存的瞬间,该策略会对系统的性能产生一定的影响,如果影响有限,则可以接受; 小心使用http://www.Sina.com/https://download.csdn.net/download/MCS Bary/12200703

打开lowMemKillerkernel的lowmemkiller机制

androidlmkd:https://blog.csdn.net/MCS Bary/article/details/8932322

通过实测取得过裁剪的测试记录,根据现在的深刻理解,有一些不正确的地方。 可以作为参考。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。