Android优化之加载优化

Android优化之加载优化,第1张

概述加载优化1.懒加载优化该优化在新闻类app中十分常见ViewPager+Fragment的搭配在日常开发中也比较常见,可用于切换展示不同类别的页面。懒加载,其实也就是延迟加载,就是等到该页面的UI展示给用户时,再加载该页面的数据(从网络、数据库等),而不是依靠ViewPager预加载 加载优化

1.懒加载优化

该优化在新闻类app中十分常见

VIEwPager+Fragment的搭配在日常开发中也比较常见,可用于切换展示不同类别的页面。

懒加载,其实也就是延迟加载,就是等到该页面的UI展示给用户时,再加载该页面的数据(从网络、数据库等),而不是依靠VIEwPager预加载机制提前加载两三个,甚至更多页面的数据。这样可以提高所属Activity的初始化速度,也可以为用户节省流量.而这种懒加载的方式也已经/正在被诸多APP所采用。

具体看这篇文章

www.jianshu.com/p/cf1f4104d…

2. 启动页优化

启动时间分析

系统创建进程的时间和应用进程启动的时间,前者是由系统自行完成的,一般都会很快,我们也干预不了,我觉得能做的就是去优化应用进程启动,具体说来就是从发Application的onCreate()执行开始到MainActivity的onCreate()执行结束这一段时间。

启动时间优化

Application的onCreate()方法
MainActivity的onCreate()方法
优化的手段也无非三种,如下所示:

a.延迟初始化
b.后台任务
c.启动界面预加载

启动页白屏优化

为什么存在这个问题?

a.当系统启动一个APP时,zygote进程会首先创建一个新的进程去运行这个APP,但是进程的创建是需要时间的,在创建完成之前,界面是呈现假死状态,于是系统根据你的manifest文件设置的主题颜色的不同来展示一个白屏或者黑屏。而这个黑(白)屏正式的称呼应该是PrevIEwWindow,即预览窗口。
b.实际上就是是activity默认的主题中的androID:windowBackground为白色或者黑色导致的。
c.总结来说启动顺序就是:app启动——PrevIEw Window(也称为预览窗口)——启动页

解决办法:

a.常见有三种,这里解决办法是给当前启动页添加一个有背景的style样式,然后SplashActivity引用当前theme主题,注意在该页面将window的背景图设置为空!
b.更多关于启动页为什么白屏闪屏,以及不同解决办法

启动时间优化

IntentService子线程分担部分初始化工作

a.现在application初始化内容有:阿里云推送初始化,腾讯BUGly初始化,im初始化,神策初始化,内存泄漏工具初始化,头条适配方案初始化,阿里云热修复……等等。将部分逻辑放到IntentService中处理,可以缩短很多时间。

b.开启IntentSerVice线程,将部分逻辑和耗时的初始化 *** 作放到这里处理,可以减少application初始化时间

c.关于IntentService使用和源码分析,性能分析等可以参考博客:IntentService源码分析

总结

以上是内存溢出为你收集整理的Android优化之加载优化全部内容,希望文章能够帮你解决Android优化之加载优化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1103531.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存