美文网首页
9.应用程序优化相关问题

9.应用程序优化相关问题

作者: ProfessorFan | 来源:发表于2022-05-25 11:40 被阅读0次

问题

1.你的项目中整么优化内存
2.你的项目优化从哪些方面着手
3.APP启动流程,启动过程当中的优化

答案

1.你的项目中整么优化内存

1.重用和延迟加载(lazy load)Views
2.对于图片在UIImageView显示的时候,尽量保证图片的大小 和 UIImageView 大小一致(因为在系统运行中,图片的缩小和放大都是需要消耗大量的资源)
3.自定义drawRect中绘制尽可能使用 CAShapelayer(这个是直接交给GPU,不消耗内存)
4.对于使用频率很低的图片(大图),使用UIImage(contentsOfFile: "")这样,图片对象就不会保存在缓存中,节省了内存
5.对不View 特别是那种滚动的View最好少使用那种透明(opaque)属性,最好是不透明,透明会增加系统消耗

2.你的项目优化从哪些方面着手

1.卡顿优化

1.对于比较复杂界面,用不到时间处理的地方,可以考虑用CALayer 代替 UIView
2.有些确定的大小他frame ,就直接用frame,不用autolayout
3.图片的size最好和 UIImageView保持一致
4.尽量包耗时操作提前放到子线程中做好
5.控制以下线程最大的并发数量
6.图片处理(解码,绘制)
7.尽量减少视图的层次 和 数量
8.减少透明视图
9.尽量避免出现离屏渲染

2.卡顿检查

1.平时说的卡顿,主要是因为主线程的耗时操作
2.可以添加Observer 到主线程Runloop 中,通过监听Runloop 切换的耗时,达到监控卡顿的目的

3.耗电的来源

1.尽量少使用定时器
2.不要频繁读写文件,最好一批写入,如果数据量比较大,最好使用数据库
3.如果多次请求数据相同,需要缓存(和后台沟通好)
4.对于网络也是非常耗电点,能不请求就不发送请求,能够一次完成就一次完成(大文件下载,断点下载,断点续传)
5.使用更加轻的数据
6.对于定位精度要求不用太高,不要实时定位
7.对于硬件的使用,(比如摇一摇,倾斜设备)不需要的时候就关掉这些对硬件的检查功能

3.APP启动流程,启动过程当中的优化

1.冷启动流程:

1.dyld(加载动态库)
2.runtime(load方法,加载图片等)
3.main函数
总结:APP的启动有dyld主导,将可执行文件加载到内存,顺便加载所有的依赖动态库;并有runtime负责加载成objc定义的结构,等runtime 结束初始化工作后,dyld就会调用main函数,接下来就是UIApplication 函数了

2.启动过程中的优化:

1.减少动态库,合并动态库(定期清理不必要的动态库)
2.减少Objc类,分类的数量(定期清理不必要的分类,类)
3.尽量使用 initialize 方法 代替 load
4.按需加载,启动不需要的东西延迟加载

相关文章

  • 9.应用程序优化相关问题

    问题 1.你的项目中整么优化内存2.你的项目优化从哪些方面着手3.APP启动流程,启动过程当中的优化 答案 1.你...

  • Tomcat优化相关问题

    1. 你怎样给 tomcat 去调优? JVM 参数调优:-Xms 表示 JVM 初始化堆的大小,-Xmx 表示...

  • iOS 面试题汇总

    tableview 的优化离屏渲染相关问题

  • Hadoop2.0 | Tez配置优化

    配置优化 Tez优化机制 YARN当前存在的问题每个作业启用一个Application-Master,应用程序延迟...

  • I/O 性能问题定位与优化

    I/O问题定位 I/O性能优化 应用程序优化 使用 mmap 代替 read/write,减少内存拷贝次数 需要同...

  • web项目瓶颈优化思路

    Web网站优化三部曲:应用程序优化、系统结构优化、网络优化。 应用程序优化 一个Web应用,不管是何种语言开发,粗...

  • iOS 内存优化心得

    程序开发完成之后,经历了很长的一段优化期,以下是根据代码情况以及应用程序的内存进行的相关优化心得,比较基础的一些优...

  • 为知笔记外链分享

    Holder演化之路JNI开发小结JNI解决密钥硬编码问题 优化相关 lint代码review与优化WebView...

  • Android面试题总结——Android部分

    ANR相关问题 1. 什么是ANR? Application Not Responding : 应用程序无响应如果...

  • 前端性能优化

    性能优化 参考 性能优化是一个发散性问题,对于没有实践经验的人来讲,是比较难把握的。涉及网络相关,JS相关,CSS...

网友评论

      本文标题:9.应用程序优化相关问题

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