Alooper负责创建线程
Ahandler负责创建Amessage消息并透过ALooperRoster传给Alooper放到messagequeue
Alooper的run方法不停执行,从messagequeue里面获取第一个消息,通过ALooperRoster再返回给Ahandler处理。
ALooperRoster负责将所有消息区分开然后再丢回给对应的Ahandler来处理
struct CodecBase : public AHandler
struct ACodec: public CodecBase
//MediaCodec.cpp
mCodec = new ACodec;
if (mIsVideo) {
if (mCodecLooper == NULL) {
mCodecLooper = new ALooper;
mCodecLooper->setName("CodecLooper");