2009-08-11 101 views
0

我已經簡要介紹了我的應用程序的運行情況,以支持我的問題。iPhone中的圖像緩存問題

我有一個應用程序,其中超過1600個圖像與iPhone應用程序文檔目錄一起存儲。 我在主屏幕上有一個tableView如下。 =>第一類 =>第二類 =>第三類

=如果用戶選擇第一類>,圖像加載在我的滾動型

| ----------- ---------頁面視圖控制器----------------- |
|第一張圖片|第二張圖片|第三張圖片|第四張圖片|
| --------------------頁面視圖控制器----------------- |

選擇類別後,用戶就可以看到 - 第一個圖像從網頁視圖控制器&別人都已經加載頁面視圖控件,用戶只滾動左 - 右看對方的圖像,但同時用戶可以看到只有一個圖像(即頁面視圖控件的任務)

現在,每一頁都有在滾動查看放置的形象圖(使用戶可以放大出)

所有這些東西很好地工作,

問題發生在以下情況。
=>第一類別的圖像之後
=>用戶按下回到
=>現在用戶選擇第二類以查看第二類別的所有圖像在頁面視圖控制研究被加載。

iPhone在特定情況下終止應用程序。 (因爲它不能加載所有圖像以頁視圖控件) (每個圖像是在-至少4 MB大約。)

iPhone 模擬器工作完全中所描述的情況,但iPhone沒有按」 tiPhone終止在給定情況下的應用程序。

我認爲iPhone中可能存在內存緩存問題。

問題是如何解決這個問題?

在此先感謝您的幫助。

回答

1

您有內存問題,您需要更好地管理您的照片,並在不使用時從內存中釋放它們。爲了您的滾動視圖不加載全部圖像一次,裝載最多三個,這是你所需要的,我說三的原因是因爲你將有這樣的事情

PIC ActivePic產品圖 或 ActivePic的圖像 - 在這裏你只需要2

您可以在活動圖片的每一面加載圖片,以便在用戶滾動剪切時不會發生。如果您不在滾動視圖中,請確保釋放所有圖像,如果不會像您已經過的那樣耗盡內存。看看這裏的示例項目PageControl http://developer.apple.com/iphone/library/samplecode/PageControl/,在這裏他們以上述相同的方式管理滾動視圖的視圖。

+0

@丹尼爾 - 對不起,我正在改變我的問題。 – 2009-08-11 17:29:10

+0

你的照片有哪些解決方案? – Daniel 2009-08-11 17:42:07

+1

您仍然在運行內存,您需要確定原因,可能是因爲您沒有正確釋放其他圖像,或者您使用的圖像分辨率太高,如果將其縮小到320x480或480x320他們並不是已經,如果他們是像1600x1400這樣可以防止崩潰你的應用程序 – Daniel 2009-08-11 17:43:41