1

Android アプリケーションで使用したいと考えているかなり複雑なアルゴリズムがあります。システムの設計に取り掛かる前に、このアルゴリズムを実行することで Android ハンドセットにかかる処理とメモリの需要を把握したいと思いました。SO で推奨されているコードを使用して、システムで実行するのにかかるナノ時間を取得しました。

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

8 GB の RAM と 2.3 GHz で動作するクアッド コアを搭載したデスクトップでは、平均で 55825493 ~ 60942613 です。多くのハンドセットの処理能力が異なることは知っていますが、デスクトップに関連して Android デバイスでどのように動作するかについては、球場のアイデアの直後です。

アイデアや方法、さらには Android テスト ハーネスも大歓迎です。

ティア

4

1 に答える 1

0

これを試してみてください。PC で行っている方法とほとんど同じです。

  • UI work on UI threadとスレッドを維持することNon-UI work on Non-UIは良い習慣ですが、Android の HoneyComb バージョンの登場により法律になりました。

  • 実行している作業が非 UI 作業である場合は、Thread with 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.
于 2012-10-07T13:06:26.450 に答える