我有一个相当复杂的算法,希望在Android应用程序中使用。在我对系统进行过多设计之前,我想了解一下运行这种算法可能需要在Android手机上进行的处理和存储需求。我使用了SO推荐的代码来获取在系统上运行所需的时间:
long startTime = System.nanoTime();
//my code
long endTime = System.nanoTime();
System.out.println("Took "+(endTime - startTime) + " ns");
该台式机的平均水平在55825493和60942613之间,台式机具有8GB的RAM和四核,运行频率为2.3GHz。我知道许多手机具有不同的处理能力,但实际上我只是想知道如何在与台式机相关的android设备上运行。
任何想法或方法,甚至Android测试工具,都将不胜感激。
TIA
尝试一下,这与您在PC上进行操作的方式非常相似。
保留UI work on UI thread
和Non-UI work on Non-UI
线程是一个好习惯,但是随着HoneyComb版本Android的到来,它成为了法律。
如果您正在做的工作是非UI的工作,请使用Thread with Handler
(仅当您想在线程上在屏幕上显示输出结果时,才使用Handler。) AsyncTask
(在Android中引入),也称为无痛线程。
例如:
long startTime; // Let this be at Class scope
long endTime; // Let this be at Class scope
long finalResult; // Let this be at Class scope
Thread t = new Thread(new Runnable(){
startTime = System.nanoTime();
public void run(){
// Your Work.....
}
endTime = System.nanoTime();
finalResult = startTime - endTime;
});
t.start();
System.out.println("The total processing time: "+finalResult);
// Your Output will be at the LogCat... Use Handler if you want to print it as toast etc on Screen.