問題你應該問你自己
1.什麼是我的記憶要求? 你是否需要大量的內存(不是物理堆在內)來處理數據或者它是最小的?現在每天大部分設備都有64 MB的堆大小,但這種情況因製造商而異。即使對於相同的API級別,它也是不同的。找出你的最低限度,然後確保你有可用的堆內存。
監視內存在運行時檢查this
正在消耗找出多少堆內存可在當前的設備檢查this和this。
記住android並不像windows和每個應用程序都以相同數量的堆內存開始,並且它對於該設備上的每個應用程序都是不變的。這意味着應用程序不允許超出此可用內存。您可以通過清單android:largeHeap="true"
中的此標籤申請額外的內存,但此功能不適用於3.0之前的操作系統版本。
我已經在其中一個移動應用程序中嘗試此應用程序,其中幾乎所有內存均由其他應用程序使用。我的應用程序無法捕捉照片。當我刪除一些應用程序,然後我的應用程序工作正常。
上述假設是相當混亂,因爲當你的應用程序運行的是Android把所有其他的應用程序方面,這意味着你的應用程序將有記憶定義由你堆的大小,如果OS認爲它需要更多的內存或沒有分配更多它會殺死這些進程。 Android優先考慮當前正在運行的任務。因此,如果您正在與應用程序進行交互,那麼它就不太可能會擁有更少的內存,然後堆大小。他們可能有一些不同於其他應用程序出現問題的原因。
2.我的API要求是什麼? 如果您正在使用任何特定的API,而舊API和級別都無法使用,則您有兩種選擇,要麼您說應用程序根本不支持該API版本,要麼您可以支持該特定功能的端口。
3.我的硬件要求是什麼? 問問你自己,如果你正在使用任何專業軟件或硬件,如果特殊的硬件可用於所有設備或不是?例如,NFC,藍牙。
4.我的顯示要求是什麼?這個應用程序只適用於手機或移動和平板電腦?那些位於平板電腦和手機之間的7英寸產品呢?
5.我的本地化要求是什麼? 這個應用程序是否依賴於任何特殊字符集?如果某個設備沒有這些字符,該怎麼辦?
而且,您提到的FYI金額不應超過幾MB。但在處理位圖時要小心。 Read this
您的應用程序使用相機嗎? – 2013-03-19 13:46:54
你這個應用程序使用相機。網絡服務,sqlite數據庫,由衛星和由服務提供商的GPS .... – 2013-03-25 05:21:14