因此,如果我弹出一个命令提示符并查看我的设备&proc / meminfo,就像这样:
adb shell cat /proc/meminfo
我得到了你期望的东西 - 这是设备的RAM使用量+容量的一长串数据。但是当我尝试从adobe air android应用程序中读取相同位置时,使用以下基本代码:
var meminfo:File = new File().resolvePath('/proc/meminfo');
meminfo.addEventListener(Event.COMPLETE, function(e:Event):void {
trace(File(e.target).data);
});
meminfo.load();
......我什么都没得到,只是一个空的ByteArray。
那么为什么我可以从adb shell中看到/ proc / meminfo的内容,而不是来自应用程序?同样适用于/ proc /目录中的其他内容 - 例如cpuinfo。但是,从/ etc /目录加载xml文件没有问题。
答案 0 :(得分:0)
事实证明,如果你把memtest(或者cputest等)复制到另一个地方,某个地方对AIR更友好一点 - 比如File.documentsDirectory - 那么一切都顺利进行。
您的代码可能看起来像这样:
var meminfo_original:File = new File().resolvePath('/proc/meminfo');
var meminfo_copy:File = File.documentsDirectory.resolvePath('meminfo.txt');
meminfo_original.copyTo(meminfo_copy, true);
meminfo_copy.addEventListener(Event.COMPLETE, function(e:Event):void {
trace(File(e.target).data.toString());
});
meminfo_copy.load();