簡體   English   中英

Xamarin Android應用程序內存使用情況

[英]Xamarin Android application memory usage

我一直在查看我創建的xamarin安卓應用程序的內存使用情況,與其他設備上的其他運行本機Android應用程序相比,它看起來相當高(運行一段時間后大約70Mb)。 我開始對此進行一些調查,最初是通過將我的應用程序的內存使用情況與其他xamarin android應用程序進行比較。 我查看了一些示例應用程序,例如“Employees”(可在xamarin工作室首頁或xamarin網站上找到)。

我注意到,當這個應用程序(和我的應用程序)啟動時,它們會一直使用大約25-30Mb的RAM,即使我沒有在主啟動器活動中加載布局,也會發生這種情況。 這是預期的嗎? 這似乎相當高,因為在Android設備上運行的許多其他應用程序可能只會在運行幾天后獲得這么高? 如果是這樣,那么我只需要盡力使應用程序的其余部分盡可能高效,但我想澄清一下這個觀察是否是由其他人做出的?

與此同時,我正在關注最小化內存使用情況(上下文生命周期和布局層次結構等)的android開發人員網站建議,盡我所能保持內存使用的其余部分更低。

使用了一些標准工具(MAT是主要起點)后,我一直在努力確定究竟是什么消耗了這個內存。

所以我的問題是:這是Xamarin Android應用程序在加載第一個活動時消耗的典型內存量(甚至在加載布局之前)以及用於確定每個進程使用多少內存的最佳xamarin兼容工具。

這個郵件列表主題可能很有趣: http//mono-for-android.1047100.n5.nabble.com/RAM-Usage-of-applications-written-with-monodroid-td5711289.html (它來自2012年,所以它是可能從那以后有了改進)。

一些關鍵點:

我對應用程序的RAM使用感興趣。 我們用monodroid編寫了一個使用增強現實的應用程序,它的用法通常是50MB-60MB。

請注意, adb shell ps數字是眾所周知的誤導[...]。 要確定Mono GC堆大小,您應該使用GC.GetTotalMemory()

您可能還想查看Xamarin文檔中的內存和性能最佳實踐以及垃圾收集文章。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM