次のような機能を持つアプリケーションの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を知りたいのですが、つまり、新しいバイト[ビット]のパラメーター「ビット」制限を知りたいのです。。私を教育してください..どんな提案でもいただければ幸いです。ありがとうございました。