zoukankan      html  css  js  c++  java
  • IOS性能和响应速度的调优

    1,不要阻塞主线程

    主线程是应用程序处理触摸事件和其它用户输入的地方。为了确保应用程序总是可以响应用户,我们不应该在主线程中执行运行时间很长或可能无限等待的任务,比如访问网络的任务。相反,您应该将这些任务放在后台线程。一个推荐的方法是将每个任务都封装在一个操作对象中,然后加入操作队列。当然,您也可以自己创建显式的线程。

    将任务转移到后台可以使您的主线程继续处理用户输入,这对于应用程序的启动和退出尤其重要。在这些时候,系统期望您的应用程序及时响应事件。如果应用程序的主线程在启动过程中被阻塞住了,系统甚至可能在启动完成之前将它杀死;如果主线程在退出时被阻塞了,则应用程序可能来不及保存关键用户数据就被杀死了。

    2,有效地使用内存

    对内存的大量使用会严重降低系统的性能,可能导致应用程序被终止。一个应用程序占用的内存超过20M会被警告,超过30M会被系统杀死。因此,在设计阶段,您应该把减少应用程序的内存开销放在较高优先级上。

    应用程序的可用内存和相对性能之间有直接的联系。可用内存越少,系统在处理未来的内存请求时就越可能出问题。如果发生这种情况,系统总是先把代码页和其它非易失性资源从内存中移除。但是,这可能只是暂时的修复,特别是当系统在短时间后又再次需要那些资源的时候。相反,您需要尽可能使内存开销最小化,并及时清除自己使用的内存。

    3,减少应用程序的内存印迹

    1,消除内存泄露

    2,使资源文件尽可能小

    3,使用Core Data 或SQLite处理大数据集合

    4,延缓装载资源(重要)

     

  • 相关阅读:
    what's the 头寸
    pandas操作速查表
    基于TensorFlow的简单验证码识别
    Python识别字符型图片验证码
    使用python以及工具包进行简单的验证码识别
    Mac OS X中MacPorts安装和使用
    通过Tesseract实现简单的OCR
    报错解决——pytesseract.pytesseract.TesseractError: (1,’Error opening data file /usr/local/share/tessdata/eng.traineddata’)
    各版本系统安装tesseract-ocr
    报错解决——-bash: wget: command not found
  • 原文地址:https://www.cnblogs.com/417460188dy/p/3220908.html
Copyright © 2011-2022 走看看