寫iPad 終於有寫嵌入式的感覺了 (UIScrollView subviews many image memory)

 

以前寫視窗都用微軟的記憶體管理,頂多只是加個非同步,讓UI 順一點,然後如果記憶體用太多的時候,偶爾強制釋放一下記憶體,最近寫的ComicMinus2 for iPad,因為自己一直在用,所以也遇到不少之前沒想到的問題。

先說說我一開始的設計,點選某一部漫畫之後,會出現這部漫畫的所有本數,我用了ScrollView

第一版:裡面放上很多個UIImageView,沒想到子目錄大概20個以上就掛了。

第二版:改為使用UIImage,然後自己畫,但是速度太慢了,載入都滿快的,但在開始畫的時候就會停頓很久

第三版:想說在載入UIImage的時候順便縮圖,這樣可能會畫的快一點,結果時間大部分都花在縮圖了

第四版:改為間隔更新目錄預覽圖,每0.5秒去畫一個子目錄,速度OK,也可以看海賊王了,大概有五十本。缺點大概沒辦法一瞬間看所有預覽圖

第五版:看絕代雙驕,結果目錄太多了,560個,全部載入完,就直接被系統關掉了,於是改為動態載入移除控制項,我只保留三個頁面的控制項,假設現在移到第四頁,就保留第三四五頁,然後把第二頁移掉

第六版:既然都沒辦法一次載入所有控制項了,乾脆自己實做 Reuse 機制,這種設計在 Android 的Source裡面有,Apple 的 TableViewCell 也是一樣,做法:先弄三個PageView出來,上面都先填滿預覽的Control,接著根據滑動的方向,把 Left/Center/Right PageView 移來移去載入不同的內容

目前這種方法還OK!

留言

這個網誌中的熱門文章

好貴的東元冷氣維修--馬達啟動電容

台大醫院 婁培人 耳鼻喉科 就診

機車無法充電之整流器壞掉--$650