在Android Sep中以1000乘1000循环

问题描述

| 我有在Android 2.3.3(Nexus One)上运行的类似代码
for(i=0; i<1000; i++){
    for(j=0;j<1000;j++){
         do AND calculation
         do XOR calculation
    }
}
这对于Android来说是太多的计算吗? 我经历了调试器,并且在第一个for循环的3次迭代(总共3000次迭代)之后,调试器失去了控制权 我在这样的新线程上运行此函数,并在主ui线程上调用函数
public void startCalculation(ArrayList<data> featA,ArrayList<data> featB){

    newThread= new Thread(new Runnable(){
        public void run(){
            theFunction();
        }
    });
    newThread.start();
}
提前致谢...     

解决方法

是的,由于没有响应,进程监视器似乎可能杀死了您的应用程序。使长时间运行的操作脱离UI线程。     ,不要在UI线程上执行此操作...将Threads或AsyncTasks用于长时间运行的操作 编辑: 对于调试使用logcat ... 只需添加
Log.d(\"Some My Tag\",\"Debuging value of smth is:\" + value);
然后从Eclipse中Logcat的窗口中读取值     ,如果在UI线程上执行长时间运行的操作,则会收到ANR(应用程序无响应)错误。您应该在后台线程中执行繁重的工作。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...