如何衡量Webview消耗的内存量?

C g*_*ics 14 java android android-webview

有没有一种方法可以以编程方式测量和监视由内存消耗的内存

WebView.loadUrl
Run Code Online (Sandbox Code Playgroud)

当我们在Android应用程序中打开Webview活动时?

我注意到,由于某种原因,我打开使用的网页WebView.loadUrl存在一些内存泄漏,并且在随机情况下,它使用的内存量一直在增加。如果WebView页面的内存使用量超出某个范围,我想以编程方式捕获该错误并运行某种方法。

Sas*_*ata 3

如果不可能的话,找到特定方法的内存使用情况是排序的,但有一个小技巧可以得到可能的估计:

  1. 运行以下代码并将其保存在某处
  2. 运行 webview.loadurl("...")
  3. 重新运行以下代码并从之前的代码中减去新的内存使用量,以了解 webview.loadUrl max 使用的最大内存量

    final Runtime runtime = Runtime.getRuntime(); final long usedMemInMB=(runtime.totalMemory() - runtime.freeMemory()) / 1048576L; final long maxHeapSizeInMB=runtime.maxMemory() / 1048576L; final long availHeapSizeInMB = maxHeapSizeInMB - usedMemInMB;