Android MessageQueue最大尺寸

时间:2017-03-16 15:39:45

标签: android

Handler发布的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 );
        }
    });
}

2 个答案:

答案 0 :(得分:0)

没有限制,但应用程序可能会因OutOfMemoryError而崩溃。

答案 1 :(得分:0)

50

但是,如果使用Message.obtain(),则无需担心超出限制。

获取消息的首选方式是调用{@link #obtain()Message.obtain()} [2]

虽然Message的构造函数是公共的,但最好的方法是获取  *其中一个是调用{@link #obtain Message.obtain()}或其中一个  * {@link Handler#obtainMessage Handler.obtainMessage()}方法,将拉动  *他们来自一堆再生物。 [3]