MacDev 板


LINE

最近寫的程式架構: 1.畫面上有其他 ui 按鍵,比如左右鍵,以瀏覽於不同資料間 2.另外再擺一個 UICollectionView,用來展示資料 因此,每按一下左右鍵,collection view 就要更新一下資料 它內容有數十筆,誇張的說它要更新兩秒好了 當 user 快速點擊左右鍵時,這個設計就難以忍受 因為點擊左右鍵的速度大約可以一秒三下 我們另外有擺一個 label,用來指示正在瀏覽什麼資料 如果不更新 collection,情況會很完美,label 會更新得很快 假設我要把 collection 的更新搬到另一個 thread 去做 這會面臨'所有 ui 更新都應該在 main thread 做'的經典問題;否決 另一個想法是,左右鍵更新 label 要快 而 collection 更新慢沒有關係;最後再追上而同步即可 但實作上還是有問題 因為當 collection 開始更新,它就是會鎖住 ui 兩秒 這兩秒內如果按 ui, 是不會取得控制權的 (若能取得,我就有解法了;我可以馬上更新內部文件 假設目前 cellForItemAtIndexPath 函式回應到第十個元件好了 從第11個起,我可以回它新文件的資料 畫面是會半新半舊沒錯,但不會卡卡 我可以馬上下個 reload,下一輪更新時再把文件整個刷新) 因此問題或許是在 collection 更新時,我有沒有法子從 ui 取得控制權? 謝謝 -- --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.197.63
※ 文章網址: http://webptt.com/m.aspx?n=bbs/MacDev/M.1414759152.A.8D1.html ※ 編輯: HuangJC (60.251.197.63), 10/31/2014 20:40:59
1F:推 tentenlee: 你先把再cellForItemAtIndexPath內的程式優化吧 10/31 20:49
2F:→ tentenlee: 應該是你作太多東西才會導致太慢,還有cellsize的部份 10/31 20:50
有考慮過這問題 所以把運算全部取消 只把每個 cell 填 'tt' 去模擬 光這樣就好,速度就已經不可忍受了 而正式版 tt 必需代換成一段運算,一定更受不了 如果用 'tt' 模擬可以忍受的話 我會把運算分到另一個 thread 去做,並且儲存起來 ui thead 來取用時,就只是提取資料而已 ---- 其實我在想,也許我手動打造數十個 label 會比用 collection 還好 因為 collection 的彈性太大 它可捲動等特性我是完全用不到的 我把它弄成數十個展示在一個畫面上,而且畫面 layout 只要做一次,永不更動 說穿了我只是想告訴自己:我還懂用一個現成大元件,而不是一堆小元件去打造 ※ 編輯: HuangJC (60.251.197.63), 10/31/2014 21:21:44
3F:→ HuangJC: 若用一堆小元件去打造,則我自己做的 reload 指令必然要 10/31 21:23
4F:→ HuangJC: forloop 到所有小元件,這件事我可以要求它能被中斷 10/31 21:23
5F:→ HuangJC: forloop 跑完前 ui 無法取得控制權,所以別用 forloop做 10/31 21:24
中間都要穿插一些可以 listen ui event 的機會 ※ 編輯: HuangJC (60.251.197.63), 10/31/2014 21:29:17
6F:→ uranusjr: 你必須把你做的東西描述得更清楚, 甚至提供 minimal 10/31 21:51
7F:→ uranusjr: reproducing example, 不然你只是在浪費大家(包含你自 10/31 21:52
8F:→ uranusjr: 己)的時間在瞎猜而已。 10/31 21:52







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP