2
我一直在爲Android開發我的第一款遊戲,並且遇到了問題。 一堆用戶在加載紋理的階段在手機上報告了ANR。 我有一堆jpg壓縮紋理,在我的手機上需要大約2秒來解壓 並將它們加載到opengl中,而在仿真器上它需要半分鐘的時間才能完成,而且在任何情況下都不會收到ANR ,但我仍然得到ANR報告。Android安全的加載OpenGL紋理的方法
我知道這是一項沉重的操作,需要花費很多時間(> 5秒)。 所以我需要知道一個正確的方式來做所有冗長的加載(這不會導致任何設備上的ANR)。
我用了兩種方法,有助於有效地避免對仿真器(我用它來慢速設備型號)ANR,但他們都不適用於用戶:
1)不要在onSurfaceCreated所有加載(... ) 方法。 2)將加載分成許多小部分,然後在 OnDrawFrame(...)方法中逐個加載。
什麼是正確的方法來做到這一點?