我正在尝试在具有以下功能的应用程序中修复 outofMemory:
public byte[] processByteArray (int bits) throws OutofMemoryError {
byte [] arr =new byte [bits];
//do something and
return arr;
}
我不确定用户为值位提供了什么,因此得到异常 Dalvik 说 536870812 字节分配超过了 67108864 字节的最大堆大小。
所以,我做了这样不好的事情,但现在解决了问题:
在类中私下声明 arr 并像这样访问该内部函数:
public byte[] processByteArray (int bits) throws OutofMemoryError {
if(bits<=67108864) {
byte [] arr =new byte [bits]; //tell me if this is right..!
}
//do something and
return arr;
}
我不知道我还能如何解决这个问题,我想知道我的函数中可以接受的最大限制字节 [] arr,我的意思是我想知道新字节 [位] 中的参数-“位”限制;. 请教育我..任何建议将不胜感激。谢谢你。