2012-11-14 36 views
-1

我有一個應用程序是一個scrollView充滿超過150個圖像..我已經按照此tutorial創建它..應用程序超過550MBs,它有大約500(150 5 & 150的Retina & 150非視網膜&按鈕)的照片。該應用程序運行得很好的,沒有任何問題,但模擬器在真實設備上,當我打開它使應用程序加載,然後崩潰ScrollView與超過150圖像崩潰

所以能任何人都可以幫我解決這個問題嗎?

在此先感謝。

+0

你有沒有對設備進行調試。究竟是什麼錯誤? – tipycalFlow

+0

此崩潰可能是由於內存限制。 – AppleDelegate

+0

我沒有得到任何錯誤有任何編程錯誤或任何與此有關的事情..我認爲它崩潰,因爲scrollView超載與圖像.. BTW我試圖讓他們只有80和應用程序在我的設備上工作得很好。 –

回答

1

嘗試僅僅加載需要用於顯示這些圖像。即滾動那些隱藏的圖像應該從滾動視圖中取出。也許你可以做出類似於可重用UITableViewCell工作的設計。即自定義實現,用於只顯示所需的圖像並在滾動時重複使用它們。

還有另外一種方法,不是直接的方法,你可以使用UITableView並將圖像添加到每個單元格,然後旋轉tableview,使其看起來像一個水平滾動。 做這種方法的好處是,UITableView將處理所有的可重用性問題,我們不需要擔心。但我不確定是否有正確的做法。

順便說一句..我上傳與UITableView中的應用水平旋轉,滾動查看到AppStore上而不會拒絕;)

+0

謝謝你的答案男人,但我建議使用分頁與ScrollView ..我認爲我已經在問題中提到的教程在教程頁面展示這個(懶加載)只是命令+ f ..但我不明白他們的意思,我應該編輯正在顯示的頁面數量..請參閱教程並告訴我。謝謝你的時間:) –

+0

啊..延遲加載在該教程中實現。你是否按照教程一直到最後?他們正在使用延遲加載來限制圖片的加載數量..我認爲遵循他們的標準就足夠了 – jithinroy

+0

謝謝你回覆@xCode ..是的,我完全按照教程,但我認爲在代碼中有一個數字我應該編輯是正確的? ''找出你要加載哪些頁面 NSInteger firstPage = page - 1; NSInteger lastPage = page + 1;' 我試過編輯這個,但它只查看我編輯的頁面數量,而其他頁面是黑色的?有關於此的任何想法? –

0

這不是一個好方法,你可以在服務器端上傳你的照片,當打開應用程序。從服務器加載圖像。

id path = @"http://upload.wikimedia.org/wikipedia/commons/c/c7/Sholay-Main_Male_Cast.jpg"; 
NSURL *url = [NSURL URLWithString:path]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *img = [[UIImage alloc] initWithData:data]; 

imageView.image = img; 

看這answer

+0

這意味着用戶將需要互聯網連接..這不建議用於我的應用程序的類型:(是否沒有任何其他方法來解決這個問題? –

+0

@ user1766119你不能接受。很多原因會導致崩潰如果沒有被蘋果拒絕,最好的方法是從服務器加載 給一個應用程序做你想做的事嗎??? – Omarj

+0

什麼是延遲加載?你能給我任何好的教程,我會接受你的回答立即? –