51ZionLin
51ZionLin
  • 发布:2018-01-09 11:23
  • 更新:2022-07-16 14:02
  • 阅读:2593

Android - 获取机子总内存,剩余内存

分类:Native.js

群友问的,帮忙翻译的 0.0

安卓获取机子总内存:

var localFileReader = plus.android.newObject('java.io.FileReader','/proc/meminfo')  
var localBufferedReader = plus.android.newObject('java.io.BufferedReader',localFileReader,8192)  
var str = localBufferedReader.readLine().toString()  
console.log(str)

安卓获取机子剩余:

var localFileReader = plus.android.newObject('java.io.FileReader','/proc/meminfo')  
var localBufferedReader = plus.android.newObject('java.io.BufferedReader',localFileReader,8192)  
var str = ''  
    var i = 0  
    while(i<3){  
        str = localBufferedReader.readLine().toString();  
        i++  
    }  
console.log(str)

两者输出的str需要做一下文本格式化,单位为kb,自己除以1024即可。

====== 2018-01-09 修复一个可能存在的问题,重新封装下

function getMemInfo(){  
    plus.android.importClass('java.io.BufferedReader')  
    var localFileReader = plus.android.newObject('java.io.FileReader','/proc/meminfo')  
    var localBufferedReader = plus.android.newObject('java.io.BufferedReader',localFileReader,8192)  
    var str = localBufferedReader.readLine().toString();  
    var totalMemStr = str;  
    var avaMemStr = ''  
    var i = 0  
    while(i<2){  
        str = localBufferedReader.readLine().toString();  
        avaMemStr = str;  
        i++  
    }  
    totalMemStr = (parseInt(totalMemStr.toUpperCase().replace(/(( )|(:)|[A-Z])/gi,''))/1024).toFixed(0)  
    avaMemStr = (parseInt(avaMemStr.toUpperCase().replace(/(( )|(:)|[A-Z])/gi,''))/1024).toFixed(0)  
    console.log(totalMemStr);  
    console.log(avaMemStr);  
    return {total:totalMemStr,ava:avaMemStr}  
}  
getMemInfo();

getMemInfo返回一个对象,total是总内存,ava是剩余内存,单位为MB。
顺带自己的Github项目,一个前端跨平台方法兼容库
Sh.js github地址

1 关注 分享
1***@qq.com

要回复文章请先登录注册