我正在開發一個使用Xamarin.iOS
的應用程序。這是常識,它的記憶處理非常低效,泄漏幾乎是不可避免的。這就是爲什麼我要儘可能小心,不要做任何愚蠢的事情:沒有循環依賴關係,沒有事件監聽器留下未被移除等等。我使用Instruments
監視我的應用程序使用的資源。我有以下應用程序設計: 有一個UIViewControllerA
其中有一個UITableView
和幾個標籤/按鈕。當您按下三個表格條目中的任何一個時,您分別導航到UIViewControllerB
,UIViewControllerC
,UIViewControllerD
。它也會產生幾個HTTP請求。每個控制器也有標籤,圖形,表格,滾動視圖,按鈕等,他們也提出HTTP請求。我正在測試我的應用程序,從UIViewControllerA
到那三個和後面,隨機。同時,隨着每個新UIViewControllers的新外觀,我可以看到Instrument的資源監視器的列增加了1-2MB。它永遠不會停止。因爲我不知道,內存應該如何表現,而且由於這個主題幾乎沒有任何信息,我不知道這是否被認爲是iOS應用程序的正常行爲。好嗎?我意識到我的問題非常模糊,但我需要知道我是否需要關注那些「跡象」。iOS應用程序內存使用情況的正常行爲是什麼?
-1
A
回答
1
如果沒有對代碼的深入瞭解以及它究竟在做什麼,我會說這不是一種正常的行爲。如果您在ControllerA,B和A之間切換,它也應該釋放一些內存。良好的內存使用情況應該看起來像鋸片一樣起伏不平。
一般問題是GC可能無法立即釋放內存。如果你的圖像處理等內存繁重的操作,你可以考慮使用GC.Collect()
- 但這應該是你的最後一個選擇 - 強制收集並釋放一些內存。
除了儀器,我也大量使用儀器來分析我的應用程序,是Xamarin探查器,以獲得更多的見解,仍然活着的東西,並保留一些參考。如果由於某種原因您不能使用Xamarin Profiler,請使用名爲堆式鏡頭的工具構建。
相關問題
- 1. 什麼是asp.net mvc網站的正常內存使用情況?
- 2. Android正在運行的應用程序內存使用情況
- 3. 如何限制iOS應用程序的內存使用情況
- 4. 測量ios應用程序的內存使用情況
- 5. Android應用程序的真實內存使用情況是什麼?
- 6. 什麼是Coldfsuion中的請求的正常內存使用情況
- 7. 使用winform應用程序的內存使用情況
- 8. 以編程方式訪問正在運行的iOS應用程序中的內存使用情況數據?
- 9. 正常iPhone應用程序的遊戲引擎使用情況
- 10. Theano的內存使用情況波動是否正常?
- 11. 獲取應用程序的內存使用情況的錯誤
- 12. Android中的應用程序的內存(CPU)使用情況
- 13. 區分內存泄漏和正常內存使用情況
- 14. 測量分佈式應用程序的內存使用情況
- 15. WinCE應用程序的內存使用情況
- 16. Web應用程序的內存使用情況HttpRuntime.Cache
- 17. 如何獲取c#應用程序的內存使用情況?
- 18. 如何分析應用程序的內存使用情況
- 19. Java Web WebLogic Server上的應用程序內存使用情況
- 20. 關於Java應用程序的內存使用情況
- 21. 簡單的應用程序內存使用情況
- 22. Windows上C++應用程序的內存使用情況
- 23. 空應用程序中的內存使用情況
- 24. 應用程序崩潰與非常低的內存使用情況iphone/ipod
- 25. 我的cocos2d應用程序每秒都會增加實際的內存使用情況是否正常?
- 26. 黑莓應用程序 - 獲取應用程序內存使用情況統計
- 27. ios cmmotionanager內存使用情況
- 28. Flex應用程序內存使用情況
- 29. .NET應用程序內存使用情況Visual Studio 2005
- 30. 瞭解應用程序內存使用情況