我正在编写一个逐像素处理图像的Android应用程序。为了读取和设置像素,我使用了两个嵌套循环。
这个过程非常耗时。即使我删除循环中的指令,在 8 兆像素图像上运行也需要大约一分钟。
为什么需要这么长时间?还有其他获取和设置像素的方法吗?
long mn = img_w*img_h;
long o = 0;
for(int i =0;i<img_w;i++) {
for(int j=0;j<img_h;j++) {
System.out.println(mn-o);
o++;
}
}
此代码模拟处理图像,并且此代码需要很长时间
logcat(部分):
02-12 19:01:40.815: I/System.out(332): 4999.0
02-12 19:01:40.815: I/System.out(332): 4998.0
02-12 19:01:40.815: I/System.out(332): 4997.0
02-12 19:01:40.825: I/System.out(332): 4996.0
02-12 19:01:40.825: I/System.out(332): 4995.0
02-12 19:01:40.825: I/System.out(332): 4994.0
02-12 19:01:40.825: I/System.out(332): 4993.0
02-12 19:01:40.825: I/System.out(332): 4992.0
02-12 19:01:40.825: I/System.out(332): 4991.0
02-12 19:01:40.825: I/System.out(332): 4990.0
02-12 19:01:40.835: I/System.out(332): 4989.0
02-12 19:01:40.835: I/System.out(332): 4988.0
02-12 19:01:40.835: I/System.out(332): 4987.0
02-12 19:01:40.835: I/System.out(332): 4986.0
02-12 19:01:40.845: I/System.out(332): 4985.0
02-12 19:01:40.845: I/System.out(332): 4984.0
02-12 19:01:40.845: I/System.out(332): 4983.0
02-12 19:01:40.845: I/System.out(332): 4982.0
02-12 19:01:40.845: I/System.out(332): 4981.0
02-12 19:01:40.845: I/System.out(332): 4980.0
02-12 19:01:40.845: I/System.out(332): 4979.0
02-12 19:01:40.845: I/System.out(332): 4978.0
02-12 19:01:40.855: I/System.out(332): 4977.0
02-12 19:01:40.855: I/System.out(332): 4976.0
02-12 19:01:40.855: I/System.out(332): 4975.0
02-12 19:01:40.855: I/System.out(332): 4974.0
02-12 19:01:40.855: I/System.out(332): 4973.0
02-12 19:01:40.865: I/System.out(332): 4972.0