2017-03-16 15 views
1

Handlerが投稿するAndroid MessageQueueのサイズが制限されていますか?Android MessageQueueの最大サイズ

次のコードは、メッセージキューにメッセージをスローし、ループ、私は私が説明するのを知っているかわからない何かのように振る舞う:

private void startTracking() 
{ 
    mIsTracking = true; 

    mTrackingHandler.post(new Runnable() { 
     @Override 
     public void run() { 
      if(!mIsTracking) 
       return; 

      mHeadTracker.getLastHeadView(mHeadTransform.getHeadView(), 0); 
      mTrackingHandler.postDelayed(this, 10); 
     } 
    }); 
} 

答えて

0

制限はありませんが、アプリケーションはOutOfMemoryErrorが発生してクラッシュすることができます。

0

50

あなたがMessage.obtain()を使用する場合は、制限を超えて行くのを心配する必要はありませんが。

Messageを取得するための好ましい方法は、メッセージを取得することです。メッセージを取得するには、Message.obtain()} [2]を使用します。

メッセージのコンストラクタはパブリックですが、*これらのいずれかを を取得するための最良の方法は、(){@link #obtain Message.obtain}を呼び出すことですかハンドラ#obtainMessageハンドラ@link * {の一つ。 obtainMessage()}メソッドを呼び出すと、リサイクルされたオブジェクトのプールからそれらが返されます( )。 [3]