iOS的多核编程和内存管理

游客

标题:iOS的多核编程和内存管理
正文:
隔上一次写iPad app开发文章已经是10个月，那篇iPad app开发概述还不错，曾经成为了google关键字&ldquo;iPad app 开发&rdquo;搜索的第一位，可能是大牛们都太忙于赚app store的钱了，留下我这个小虾来写文章。这次的文章集中与iOS的多核编程和内存管理，为什么？因为iPad 2已经是双核CPU了！虽然iPad 1的应用已经不慢了，但大家完全可以使用苹果的多核编程框架来写出更加responsive的应用。 多核运算在iOS中concurrency编程的框架就是GCD(Grand Central Dispatch)， GCD的使用非常简单。它把任务分派到不同的queue队列来处理。开发者把任务代码装到一个个block里面，操作系统把这些任务代码分派到不同的资源 里去处理，一个简单的例子来说，为什么初学者写tableview的时候，滑动列表时总会很卡，因为很多初学者把图片装载放到main thread主线程去执行，例如我们要滑动畅顺的话，iOS最快可以1秒内刷新60次，如何你的一个cell的文字和图片装载超过1/60秒的话，自然就 会卡。所以一般我们会把图片装载这些需要多点时间的移出main thread来处理，对于用GCD来说，就是把图片载入放到另外一个queue队列中来异步执行，当资源准备好了后，放回到main thread中显示出来。main thread在GCD中就是main queue。 创建一个新queue队列的代码： C代码 dispatch_queue_t network_queue; network_queue = dispatch_queue_create(&quot;com.myapp.network&quot;, nill); 例如，我们图片读取放到network_queue来进行异步执行 C代码 dispatch_async(network_queue, ^{ &nbsp
[<<][[1]][2][3][>>]

查看评论(0)
发表评论

首页