1

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

    long startTime = System.nanoTime();
    //my code
    long endTime = System.nanoTime();
    System.out.println("Took "+(endTime - startTime) + " ns");

在我的桌面上平均在 55825493 和 60942613 之间,它有 8gb 的内存和一个以 2.3ghz 运行的四核。我知道许多手机具有不同的处理能力,但我真的只是想知道它如何在与桌面相关的安卓设备上运行。

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

TIA

4

1 回答 1

0

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

  • 保留UI work on UI thread, 和Non-UI work on Non-UI线程是一种很好的做法,但随着 HoneyComb 版本的 Android 的到来成为了一种法则。

  • 如果您正在做的工作是非 UI 工作,请借助 a Thread with Handler(Handler will be used, only when you want to display an output result on your screen from the thread.) 或 go with 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.
于 2012-10-07T13:06:26.450 回答