1. 如何让你的应用程序更加省电?
答: (1) 如果程序用到定位,需要在定位完毕之后关闭定位,或者降低定位的频率,不停的定位会消耗电量。 (2) 如果用到了蓝牙,需要使用蓝牙时候开启蓝牙,蓝牙用完之后关闭蓝牙,蓝牙也很耗电。 (3) 优化算法,减少循环次数,大量循环会让 CPU 一直处于忙碌状态,特别费电。 (4) 不要使用网络轮询,使用推送。 (5)timer 的时间间隔不宜太短,满足需求即可。 (5) 不要频繁刷新页面,能刷新 1 行 cell ,不要 reloadData 。 (6) 切勿让屏幕长亮。 (7) 线程适量,不宜过多。
 
57. 简单描述你一下在开发的过程中,如何实现程序的性能优化?
答:我在开发的过程中会注意一下几点来优化程序性能:
1. 避免庞大的 XIB
2. 使用懒加载的方式延迟加载界面
3. 避免反复处理数据
4. 避免使用 NSDateFormatter 和 NSCalendar 。
5. 图片缓存的取舍
UIImage 加载图片方式一般有两种 :
A : imagedNamed 初始化
B : imageWithContentsOfFile 初始化
二者不同之处在于 ,imageNamed 默认加载图片成功后会内存中缓存图片 , 这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象 . 如果缓存中没有找到相应的图片对象 , 则从指定地方加载图片然后缓存对象,并返回这个图片对象 .
而 imageWithContentsOfFile 则仅只加载图片 , 不缓存 .
大量使用 imageNamed 方式会在不需要缓存的地方额外增加开销 CPU 的时间来做这件事 . 当应用程序需要加载一张比较大的图片并且使用一次性,那么其实是没有必要去缓存这个图片的,用 imageWithContentsOfFile 是最为经济的方式 , 这样不会因为 UIImage 元素较多情况下, CPU 会被逐个分散在不必要缓存上浪费过多时间 . 使用场景需要编程时,应该根据实际应用场景加以区分, UIImage 虽小,但使用元素较多问题会有所凸显 .
8 、 tableView 的重用机制?
查看 UITableView 头文件,会找到 NSMutableArray* visiableCells ,和 NSMutableDictnery*reusableTableCells 两个结构。 visiableCells 内保存当前显示的 cells , reusableTableCells 保存可重用的 cells 。
TableView 显示之初, reusableTableCells 为空,那么 tableViewdequeueReusableCellWithIdentifier:CellIdentifier 返回 nil 。开始的 cell 都是通过 [[UITableViewCell alloc]initWithStyle

开发完成不是最终结果,怎样完成优化?相关推荐

  1. 阿里巴巴Java开发手册一周年最终版

    阿里巴巴Java开发手册一周年最终版 摘要:阿里巴巴集团推出的<阿里巴巴Java开发手册>是阿里巴巴近万名开发同学集体智慧的结晶,以开发视角为中心,详细列举如何开发更加高效.更加容错.更加 ...

  2. ios开发语言本地国际化_开发人员软件本地化最终语言指南

    ios开发语言本地国际化 There are lots of great guides out there for how to prep your product for international ...

  3. 在多线程数据平面开发套件(DPDK)应用程序中优化内存使用

    目录 介绍 参考申请 环与堆叠 从环形内存池转移到堆栈内存池所需的代码更改 测试方法 结果 结论 关于作者 资源资源 尾注 介绍 高速数据包处理应用程序可能会占用大量资源.软件工程师和架构师可以提高其 ...

  4. Android开发常用工具,编译调试工具,性能优化工具,工具集

    分析具体耗时的Trace view;布局复杂度工具Hierarchy View;应用启动时间;Memory.CPU.Network分析;静态代码检查工具Lint;程序稳定性monkey.adb调试桥. ...

  5. 开发十年老架构师:Android性能优化实践,程序员如何应对中年危机

    public static Context context; @Override protected void onCreate(Bundle savedInstanceState) { super. ...

  6. AI 开发神器来了!支持 CPU 加速优化!!

    AI开发现状 从过去AlphaGo在职业围棋中击败世界冠军,到现在大火的自动驾驶,人工智能(AI)在过去几年中取得了许多成就.其中人工智能的成功离不开三要素:数据.算法和算力.其中对于算力,除了训练( ...

  7. 在Android开发中,有哪些好的内存优化方式?如何避免 Out Of Memory(OOM) ?

    在Android中,一个Process 只能使用16M内存,要是超过了这个限定就会跳出这个异常.  那么,开发中,有哪些措施能避免这个问题呢?不仅仅是Bitmap的处理,其他方面也会导致OOM.有哪些 ...

  8. 《阿里巴巴Android开发手册》v1.0.1更新,优化部分内容和示例代码

    摘要: 春节余味尚未消,我们为移动开发者准备了一份迟到的新年礼物--<阿里巴巴Android开发手册>,继<阿里巴巴Java开发手册>之后,阿里巴巴开发规范家族又添一丁,「阿里 ...

  9. 抖音seo源码.源代码开发可二开搭建/抖音seo优化系统代开发

    抖音seo源码源代码开发可二开搭建, 抖音seo源码,抖音seo矩阵系统源码技术搭建 抖音seo源码,抖音seo矩阵系统底层框架上支持了从ai视频混剪,视频批量原创产出,云端数字人视频制作,账号矩阵, ...

最新文章

  1. 获取人口_Human Terrain——世界人口三维可视化
  2. 2021年码农应该了解的所有机器学习算法
  3. 端口聚合与Trunk综合配置
  4. python中import与input_python : import详解。
  5. 炫“库”行动-人大金仓征文大赛—数据领域“新·独角兽”
  6. PE文件格式详解(二)
  7. python部署工具fabric
  8. 大型情感剧集Selenium:8_selenium网页截图的四种方法
  9. 从底层来看函数的调用和返回
  10. windows下文件路径太深,无法删除解决办法
  11. 电商产品经理必修课之学员招募及在线课程学习
  12. Software Engineering at Google翻译-III-9-Code Review(代码审查)
  13. 视频教程-数据结构实战完全手册-C/C++
  14. GDB基本命令(整合)
  15. 在Linux命令行上计划自己的假期日历
  16. 好用android平板,好用却不平凡,Remix OS让安卓平板活过来!
  17. Hadoop+hive+flask+echarts大数据可视化之系统数据收集
  18. 2021最新大厂Java面试集合,顺利拿到offer
  19. 软件测试缺陷分析方法简介
  20. 恩智浦智能车MOS双驱动

热门文章

  1. CSS字体连写及外观属性
  2. 可以坚持实践为先的课外学习
  3. mysql根据严格校验15位和18位身份证号是否有效的自定义函数
  4. 串口协议(1-Wire)解析
  5. UDP下的SOCK5代理实现
  6. Redis高频面试题汇总(下)
  7. 代码随想录算法训练营第六天|242. 有效的字母异位词,349. 两个数组的交集,202.快乐数,1. 两数之和
  8. Angular2-生成二维码
  9. matlab10的阶层怎么输入,在Matlab中编写阶乘函数,并调用该函数来生成一个1!,......,10!的阶乘表...
  10. badger (一个高性能的LSM K/V store)使用指南