面试的时候被问到,在手机CPU休眠状态下实现实时分享当期那位置怎么做?当时也不知道,就瞎说了一通,后面回来直接查询了一下资料,才知道关键技术点没有答到,扯的都是废话,结合资料,来看看大概是怎么实现的吧,感谢大神在网上分享出自己的经验。
好吧,先做一个技术上面的科普:
一开始先对Android手机的硬件架构做一定的了解,设计出的应用程序通常不会成为待机电池杀手,而要设计出正确的通信机制与通信协议也并不困难。但如果不去了解而盲目设计,可就没准了。
首先Android手机有两个处理器,
ApplicationProcessor(AP):AP是ARM架构的处理器,用于运行Linux+Android系统;
一个叫Baseband Processor(BP):BP用于运行实时操作系统(RTOS),通讯协议栈运行于BP的RTOS之上。
区别:非通话时间,BP的能耗基本上在5mA左右,而AP只要处于非休眠状态,能耗至少在50mA以上,执行图形运算时会更高。另外LCD工作时功耗在100mA左右,WIFI也在100mA左右。一般手机待机时,AP、LCD、WIFI均进入休眠状态,这时Android中应用程序的代码也会停止执行。