Ben*_*aum 15 javascript java android google-chrome android-webview
我正在构建一个包含WebView运行一些JavaScript代码的应用程序.JavaScript代码非常繁重,可能需要大量内存.
有时,所需的内存量超过了JavaScript可能需要的数量,并且崩溃了导致我的应用崩溃的WebView的Chromium进程.
我onMemoryTrim在我的应用程序中监听- 但在这种情况下,在内存超过1GB的设备上永远不会调用它.(甚至没有TRIM_MEMORY_RUNNING_LOW).
有没有什么方法可以检测到我的WebView内存不足并杀死它或让它知道(所以它可以释放内存)?
我试过了民意调查,performance.memory但没有奏效.如果在其中执行,则以下脚本会崩溃WebView:
var a = [];
var kek = () => {
var b = [];
for(var i = 0; i < 1024 * 1024 * 2; i++) b.push(Math.random());
return b;
}
var ival = setInterval(() => {
let m = performance.memory;
if(m.jsHeapSizeLimit - m.usedJSHeapSize < 1e5) {
console.log("Memory limited")
} else {
a.push(kek());
}
});
Run Code Online (Sandbox Code Playgroud)
有没有办法检测内存即将用完所以我可以优雅地处理它没有应用程序崩溃?
| 归档时间: |
|
| 查看次数: |
981 次 |
| 最近记录: |