2014-02-24 25 views
1

我想在Android中以編程方式創建一些文件,這些文件將被保存在手機的內部內存中。我的問題是,例外我應該趕上手機內存完全填滿作爲我創建並保存文件?手機內存充滿時會拋出什麼異常?

本質上,我想知道哪個異常被觸發,以便我可以防止我的應用程序在該事件中崩潰。

編輯:我知道IOException被觸發。但是,如何跟蹤是否發生此異常,,因爲內存已滿?由於IOException可能因各種原因而發生,我如何跟蹤這種特殊情況?

+0

一個它可能會是一個IOException,使用一個特定的消息說,沒有足夠的空間什麼的。爲什麼不寫一個模擬它的小應用程序? –

+0

因爲實際發生的事件並不常見,我想知道這種情況究竟拋出了什麼,而不是模擬它。 – SoulRayder

+0

難道你不需要寫一個應用程序來填充手機文件並檢查異常嗎? 無論如何,也許這將有助於:http://stackoverflow.com/questions/8046540/java-io-io-exception-there-is-not-enough-space-on-the-disk-while-running-j2me-一個 –

回答

1

您是否在尋找OutOfMemoryError? 。根據文檔

當使用可用平臺資源無法滿足對內存的請求時引發。這樣的請求可以由正在運行的應用程序或VM的內部功能來完成。

+0

這就是我的想法。但後來我懷疑這是關於應用程序的**堆內存。 **手機的內部**內存怎麼樣? – SoulRayder

+0

我不認爲他在談論記憶;他正在談論保存文件。 –

+0

哦,,我誤解了.. ..那麼如何獲得可用的可用內存量首先? – stinepike

1

我覺得這是你要找的

try{ 

     }catch(java.lang.OutOfMemoryError e) { 
       Log.v("Exceptional exception", e.getMessage()); 
+0

這就是我的想法。但後來我懷疑這是關於應用程序的堆內存。手機的內存怎麼樣? – SoulRayder

0
OOM. i.e out of memory exception 
+0

這就是我的想法。但後來我懷疑這是關於應用程序的堆內存。手機的內存怎麼樣? – SoulRayder

+2

@Pankaj,請注意改善這個答案,因爲它不符合StackOverflow答案格式的[standards](http://stackoverflow.com/help/how-to-answer)。謝謝 –

相關問題