Android线程和线程池
线程在Android中是一个很重要的概念,从用途上来说,线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。由于Android的特性,如果在主线程中执行耗时操作那么就会导致程序无法及时地响应,因此耗时操作必须放在子线程中去执行,除了Thread本身以外,在Android中可以扮演线程的角色还有很多,比如AsyncTask、IntentService以及HandleThread的表现形式都有别于传统的线程,但是它们的本质仍然是传统的线程。对于AsyncTask来说,它的底层用到了线程池,对于IntentService和HandlerThread来说,它们的底层则直接使用了线程。
Android动画深入分析
Android的动画可以分为三种:View动画、帧动画和属性动画。帧动画通过顺序播放一系列图像从而产生动画效果,如果图片过大就会导致OOM;View动画通过对场景里的对象不断做图像变换(平移、缩放、旋转、透明度)从而产生动画效果,它是一种渐进式动画,并且View动画支持自定义;属性动画通过动态地改变对象的属性从而达到动画效果,属性动画为API11的新特性。