2014-09-02 54 views
0

我們有一個複雜的應用程序,使用UIWebView顯示在某一點上的一些信息後減慢。我們有一個的OpenGL層在顯示UIWebview即停止繪圖,並且我們(根據顯示器),使用壓頭的約128梅格。該頁面大約有10個屏幕,並且是靜態內容。 JavaScript用於安裝,但就是這樣。UIWebView的一段時間

我們注意到,在頁面加載和響應,然後上下幾次滾動視圖之後,CPU命中18%左右 - 而不是我們的代碼。這發生在DidReceiveMemory警告(雖然該設備是不是內存不足),所以感覺就像一個垃圾收集器什麼的。 18%然後保持直到視圖被釋放。再次返回到視圖和新創建的UIWebview將響應再次,帶着幾分輕快的滾動後放緩的相同的行爲。

我們清除NSURLCachedidReceiveMemoryWarning(並給予操作系統大量內存)。有沒有人有其他建議,爲響應脫落舊設備上的懸崖?

回答

1

事實證明,如果在UIWebView可見的情況下每幀顯示OpenGL層的Renderbuffer,則會放慢速度。另一個實例我們使用了UIWebview,因此我們暫停了渲染器,因此沒關係

確保

glBindRenderbuffer(GL_RENDERBUFFER, viewRenderbuffer); 
[m_pContext presentRenderbuffer:GL_RENDERBUFFER]; 

不運行(或暫停顯示鏈接)解決了這一問題而生。希望對某人有用,因爲它一直困擾我們好幾天。