Android笔试题大全1. 请解释下在单线程模型中Message,Handler,Message Queue,Looper之间的关系。1、拿主线程来说,主线程启动时会调用Looper.prepare()方法,会初始化一个Looper,放入Threadlocal中接着调用Looper.loop()不断遍历Message Queue。2、Handler的创建依赖与当前线程中的Looper,如果当前线程没有Looper则必须调用Looper.prepare()。3、Handler通过调用sendMessage()方法讲消息放入MessageQueue中,MessageQueue是一个先进先出的队列,Looper不断从MessageQueue中取出消息,把消息交给消息对应的Handler对象进行分发处理。2.内存溢出和内存泄漏有什么区别?何时会产生内存泄漏?内存优化有哪些方法?1、内存溢出通俗理解就是软件(应用)运行需要的内存,超出了它可用的最大内存。2、内存泄漏就是我们对某一内存空间的使用,使用完成后没有释放。3、内存优化:Android中容易内存溢出的部分