我創建了一個擁有~12個靜態成員和2個數組並存儲了1500個整數的類,以便每當編碼時需要它們時,我都會調用該類並獲得我想要的成員。
我想知道這是不是一件壞事..做那些靜態成員一直留在記憶中?具有〜1500個整數的2個靜態數組是否是一件壞事?
我在問這些問題,因爲我的應用使用了22MB的RAM!這很多,並認爲這可能是一個原因,所以這個靜態類可以成爲所有這些內存的原因嗎?有沒有更好的方法來處理這個問題?謝謝。擁有靜態成員的課程
1
A
回答
2
如果我存儲了那麼多信息,我會把它放在一個SQLite數據庫中。
1
一個類的靜態成員在整個程序的執行過程中都在內存中,而且它們一直保留在內存中,這就是您隨時訪問它們的方式。我無法真正回答你關於數組的問題,因爲你沒有發佈關於你的項目的很多信息,根據你需要做什麼,這可能是也可能不是一個好主意。
2
22Mb的RAM太多,您的應用肯定會崩潰在低操作系統版本的設備上。我看不到在內存中存儲1500個整數的原因,您可以嘗試將它們存儲在XML中,並在需要時加載它們。檢查此鏈接瞭解如何值存儲在XML文件:Providing Resources
0
奧馬爾
First of all. Why do you have to use array with 1500 integers in it when clearly you have better techniques to store data. Like Egor mentioned, you can use XML as well, but then, you have to choose the right technology in that as well since DOM will load everything in memory and you'll end up in the same situation.
,最好的辦法是所有這些信息存儲在一個數據庫和檢索相應的數據,只要你想。此外,只有在需要時才使用靜態成員(如使用常量),這是一個很好的做法。
0
2 1500個整數的數組,不會佔用高達22 MB的空間。您的應用中存在錯誤。這樣的數組只需要小於50KB,所以2個數組應該在100KB左右。那麼,其他靜態成員是什麼?
相關問題
- 1. 擁有自己類型的靜態成員的類
- 2. 訪問靜態成員靜態成員
- 3. 爲什麼一個類允許自己擁有一個靜態成員,但不是一個非靜態成員?
- 4. 靜態成員
- 5. C#靜態類 - 靜態類不能有非靜態成員
- 6. 靜態庫的靜態成員
- 7. 非靜態類的靜態成員?
- 8. 具有所有私人成員的課程是否可以成爲POD課程?
- 9. 靜態類成員
- 10. F#靜態成員
- 11. C++靜態成員
- 12. 靜態javascript成員
- 13. 擁有90%靜態成員的Java類。好的做法還是什麼?
- 14. 與其他靜態const成員初始化靜態const成員
- 15. Java中的靜態成員
- 16. 類的靜態成員
- 17. 模板的靜態成員
- 18. 的Javascript靜態成員
- 19. 的const_cast靜態const成員
- 20. C++類的靜態成員
- 21. C++類的靜態成員
- 22. javascript中的靜態成員
- 23. 靜態成員vs靜態全局
- 24. 靜態函數和多線程中的C++靜態成員
- 25. C#:靜態成員VS實例成員
- 26. 靜態成員數組成員函數
- 27. Form實例成員和靜態成員
- 28. 靜態成員在C++編程
- 29. 靜態成員和多線程
- 30. C#線程安全靜態成員
尤其是對於Android,您應該避免使用靜態字段。它本質上是全球性的。 – 2011-06-08 14:50:47
那些具有1500個整數的2個數組代表什麼? (它們可能不是你的應用需要22MB的原因,但它們對尺寸有貢獻) – Kaj 2011-06-08 14:52:14