fixing byte outofMemory Android
===

I am trying to fix outofMemory in my application that has a function as follows: 


       public byte[] processByteArray (int bits) throws OutofMemoryError {
       byte [] arr =new byte [bits];
       //do something and 
       return arr;
     }

I am not sure about what user provides for value bits and hence get exception Dalvik saying  536870812 byte allocation exceeds the 67108864 byte maximum heap size. 

So, I did something like this which is not good, but for now fixes issue: 

declare arr privately in the class and access that inside function like this : 
      
           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;
     }
          


I am not sure how else I can fix this issue, is the value assigned to byte same on all android devices? is it safe to use a fix like this. Please educate me.. Any suggestion would be appreciated. Thank you. 

