2011-08-13 70 views
1

基本上我得到了我編寫的應用程序,並且出於某種原因在不同的ios設備上表現不同。應用程序用戶界面在一段時間後消失

在我的Itouch上它可以很好地工作很長一段時間沒有問題,但在具有最新固件的iphone 4上,UI會在一段時間後退化,即某些圖像開始卸載,並且我檢查了內存分析器, 4MB以上。此外,內存警告永遠不會被調用。即使鎖定屏幕丟失其數字鍵盤,並變得半透明。

在此之前,屏幕會閃爍一點。

該應用程序基本上傳圖像到一些數據庫,並在此之前,它會運行JPEG壓縮幾次,以確保圖像接近50kb,所以如果你開始一個500kb的圖像,它會減少其壓縮比率直到圖像接近50kb。你認爲這可能是一個問題嗎?

我不能在4.2版本的itouch上覆制這個問題,但在iphone4上,它似乎發生了。

任何指針都會很好。儀器可能會顯示1-2次小漏洞,高達64bytes,堆永遠不會超過4mb。

回答

0

很難知道沒有看到您的實際代碼。對我來說,我會先解決泄漏問題,看看是否能改善事情。在iOS設備方面,你的iPhone 4擁有比觸摸更多的內存 - 我敢打賭這不是內存可用性問題,因爲你的觸摸應該是首先出現問題的那個。這是由您沒有收到內存警告的事實支持的。

在我頭頂,我不知道問題是什麼;我自己沒有聽說過。不幸的是,沒有示例代碼,很難說出發生了什麼。

您是否使用自定義界面元素?蘋果UIKit元素也會像UISlider一樣發生退化嗎?

這些圖像如何被加載?如果你使用延遲加載,你可能會在你的實例代碼中出現錯誤。

+0

嗯,你很難看不到代碼,但它是相當多的。我不確定自己,但注意到CFData在運行應用程序時一直在上升,我讀到它是緩存,我應該清除它。我也使用大多數東西的延遲加載,並且它也發生在蘋果uikit元素上。 – user281300

+0

我忘了補充說這不是在其他iphone 4s上發生,我只在2 iphone 4s上得到。 – user281300

+0

這是由於加載到內存中的大圖像造成的,由於某些原因,分析器和儀器不能檢測到它。 – user281300

相關問題