c++实现android系统的handler

1、android的hander的确非常好用。

2、我们能不能用c++也实现一个类似功能hander这样的想法马上就被付诸实践。

3、首先介绍一个android hander的用法。

    照搬别人的吧,毕竟很多这样的文章了。https://www.cnblogs.com/wlming/p/5553207.html

4、这里hander旨在解决消息的异步发送,同样拥有delay发送消息机制。

相应的应用场景:应用触发显示,交互控制命令等。

5、这个是本文章的大致结构。

c++实现android系统的handler_第1张图片

6、测试代码使用方法如下:

 
 

#include "WKMessageQueue.h"

#include "WKMessage.h"

  #include "WKLooper.h"
  #include "WKHandler.h"
   
  #include <unistd.h>
   
  #include <utils.h>
   
  #define MODULE_NAME "WKMESAAGE_TEST"
   
  using namespace android;
   
  int main(void)
  {
  int cnt = 0;
   
  WKHandler *handler = new WKHandler();
  WKLooper *looper = new WKLooper();
  handler->setLooper(looper);
  looper->loop();
   
  while(1)
  {
  WKMessage *msg = WKMessage::obain(cnt++, handler);
  handler->sendMessage(msg);
  if(cnt >10)
  break;
  usleep(1000000);
  }
   
  //休眠等待处理完
  sleep(10);
  LOGD("now,sPoolSize:%d,sPool is %s.",WKMessage::sPoolSize,WKMessage::sPool==NULL?"null":"not null");
  }

7、运行效果如下所示:

c++实现android系统的handler_第2张图片

7、代码下载地址:

    https://github.com/huanhuankangwang/UDI/tree/master/hanlder


你可能感兴趣的:(handler,android)