話說這日郭靖、黃蓉二人遊走在姜廟鎮的街上,郭靖深色凝重,愁眉緊鎖。
黃蓉見狀,便關切地問道:靖哥哥這幾日可有何心事?
郭靖:蓉兒,這幾日項目上遇到了不少ANR的故障,不論我使出何種招式,都沒能將他們消滅。
黃蓉:這不難。七公是解決ANR問題的高手,我們可以讓他教。
郭靖:這恐怕不易吧,七公可是不輕易傳授武藝的。
黃蓉:放心吧。今天中午我做一桌子好菜,保證他教你。
午飯時分,洪七公一手抓着雞腿狠狠地啃,一邊丟給郭靖一本小冊子。
洪七公:本來不想教你着笨小子的,我這糟老頭子呀,就看在蓉兒聰明伶俐,上得廳堂、下得廚房的份上,且教你一回,你可好好珍惜了。
郭靖接過七公扔過來的小冊子,封面上赫然寫着“Android ANR祕笈”,滿是歡喜,便津津有味地讀了起來。
祕訣一共分爲三個部分:
- ANR是個啥
- 爲啥會出現ANR
- ANR解決之道
下面細細來看。
1. ANR是個啥
Application Not Responding,程序無響應。有三種類型:
- Key dispatch timeout
- Broadcast Timeout
- Service Timeout
2. 爲啥會出現ANR
造成ANR的原因主線程沒有及時處理消息。那麼主線程爲何沒有及時處理消息?可能的原因爲:
- 無法獲取CPU的運行時間片
- 等待事件發生
- 消息處理流程太複雜,耗時太長
3. ANR解決之道
這部分就是畫了一張圖。
所謂大道至簡,郭靖深知其中蘊含着深刻的道理,便一刻不敢耽誤,馬不停蹄地拿去修煉了。
經過幾日苦心修煉,終於解決了ANR問題。
從此又可以和黃蓉愉快地玩耍於江湖了。