Java 如何将台式计算机的处理时间转换为android设备?

Java 如何将台式计算机的处理时间转换为android设备?,java,android,cpu-usage,Java,Android,Cpu Usage,我有一个相当复杂的算法,我希望在android应用程序中使用。在我对系统的设计走得太远之前,我想了解一下在Android手机上运行该算法可能带来的处理和内存需求。我使用了上推荐的代码,以便获得在我的系统上运行所需的nano时间: long startTime = System.nanoTime(); //my code long endTime = System.nanoTime(); System.out.println("Took "+(endTime - s

我有一个相当复杂的算法,我希望在android应用程序中使用。在我对系统的设计走得太远之前,我想了解一下在Android手机上运行该算法可能带来的处理和内存需求。我使用了上推荐的代码,以便获得在我的系统上运行所需的nano时间:

    long startTime = System.nanoTime();
    //my code
    long endTime = System.nanoTime();
    System.out.println("Took "+(endTime - startTime) + " ns");
在我的桌面上,它的平均值在55825493和60942613之间,有8gb的ram和一个运行在2.3ghz的四核。我知道很多手机有不同的处理能力,但我真的只是想大致了解一下它如何在安卓设备上相对于台式机运行

任何想法或方法,甚至android测试工具都将不胜感激


TIA

试试看,它与您在PC上的操作方式非常相似

将UI工作保持在UI线程上,而非UI工作保持在非UI线程上,这是一种很好的做法,但随着Android蜂窝版本的到来,这一做法已成为一项法律

如果您正在做的工作是非UI工作,那么仅当您希望在屏幕上显示来自该线程的输出结果时,使用处理程序的线程的帮助将非常有用。或者使用Android中引入的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.