android 如何优化ArrayList中的大型计算

s3fp2yjn  于 2023-03-16  发布在  Android
关注(0)|答案(1)|浏览(145)

我正在Android中使用Java开发一个函数,它接受两个字节数组并执行一些复杂的计算,字节数组来自数据库,因此类似于:

ArrayList<myModel> myList = new ArrayList<>;
myList = readDataFromDataBase();

在myModel中有一个byte[]变量,一旦我从数据库中读取了所有数据,我需要处理byte数组并进行一些计算,如果满足结果,我希望它停止处理。

for(myModel my : myList){
   byte[] temp;
   temp = my.getByteArray();
   if(computeData(temp)){
     break;
   }
}

如果数据库中只有很少的数据,性能还可以,但如果有1000个数据,性能就很差。
所以我试着用并行流。

myList.parallelStream.forEach()

但似乎没有提高性能。我也试过ExecutorService,还是一样。有什么方法可以优化它吗?任何答案都是赞赏!

x3naxklr

x3naxklr1#

你可以在阅读数组的时候使用computeData(),并且在需要的时候停止。这样你就不会读到你不想要的数据,并且可以保存一些时间。另外,根据java约定,myModel类中的第一个m应该是大写的。当然,你可以尝试优化这两个方法

相关问题