美文网首页iOS
记一次对首次启动进入聊天页面的优化

记一次对首次启动进入聊天页面的优化

作者: eagleyz | 来源:发表于2019-06-11 11:21 被阅读14次

背景:

公司产品对性能优化越来越高。上次对冷启动优化之后,从2.6秒优化到了0.65秒,具体可以参考 https://www.jianshu.com/p/49cecc06e99f
但是作为一款IM及时通讯产品,除了这个优化还不够。另外一个就是对于首次启动,对于点击进入聊天界面这个时间的优化,目前的问题是首次进去是1.7秒,第二次进入是0.6秒。那么这相差的1.1秒是消耗在哪了呢?
经过仔细认真的排查,发现时间耗时在获取图片展示上了。总共需要44张图片,每个图片在bundle里面。既然如此,那如果每次都能0.6秒,岂不是就能秒加载了。看一下这个方法

+ (nullable UIImage *)imageNamed:(NSString *)name; 

这个有什么特点呢,看一下官方注释


image.png

咦,貌似官方会加载完之后,做一个缓存,那再次加载就快很多了。
所以,如果把需要的图片,到提前缓存一下不就好了么。完美。


image.png
如图所示,在启动的时候,直接异步把需要的图片加载一次就可以了。然后呢,然后不需要做什么,直接把存放图片的数组释放掉就可以了。因为这里加载图片唯一目的就是为了让系统有个缓存而已。等真正用的时候,直接去内存里面拿就可以了。

结果:

  经过这个优化之后,把首次点击进入聊天界面从1.7秒优化到了0.6秒。完美。

拓展:

如果需要经常使用,或者性能要求高的地方,可以用 imageNamed 来缓存

如果不是经常使用,性能要求不高的地方,用imageWithContentsOfFile 因为这个方法不会加入缓存


image.png

相关文章

  • 记一次对首次启动进入聊天页面的优化

    背景: 公司产品对性能优化越来越高。上次对冷启动优化之后,从2.6秒优化到了0.65秒,具体可以参考 https:...

  • 关于android启动页优化建议

    android启动页优化 启动页也称之为闪屏页,就是在android应用第一次...

  • 移动APP测试用例设计的部分关键点

    1.应用的启动和停止 首次启动 是否出现欢迎界面,欢迎界面的停留时间合理,欢迎界面后是否正常进入应用; 首次启动时...

  • android启动优化

    感谢原作者涉及:应用启动流程启动优化(闪屏页优化、MultiDex 优化、WebView启动优化、启动耗时分析方法)

  • 产品交互自查笔记#03启动页、引导页、登录页

    前言:上一篇讲了页面的打开方式,里面提到当首次打开应用时,会出现的启动页、引导页或登录页,当然启动页和登录页不一定...

  • 3、android产品研发-基类Activity

    在上一篇文章中我们介绍了在android产品研发过程中,启动页的优化工作,比如启动页性能优化,启动页渐进动画效果,...

  • 冷启动优化

    冷启动优化主要优化两个方面 Application 性能优化 App启动页性能优化业务优化不在本章优化范围内。本章...

  • 应用启动优化

    1.热启动 与 冷启动 冷启动 首次启动。 热启动 是已经启动,从后台再次唤醒。2.优化冷启动main()函数执...

  • 单读学习-启动页

    启动的时候会有一个启动页的动画,并且首次的时候会下载启动页的图片到本地 创建SplashActivity.java...

  • Android 启动黑白屏

    现象 App启动时进入启动页时出现白屏页,然后大概一秒之后就出现了背景图片。 原因 用户点击Launcher界面的...

网友评论

    本文标题:记一次对首次启动进入聊天页面的优化

    本文链接:https://www.haomeiwen.com/subject/wnpffctx.html