BATJ30道经典常见Android 高级面试题及答案(15)

19.子线程中能不能 new handler?为什么

必须可以 。 子线程 可以new 一个mainHandler , 然后发送消息到UI Thread 。

20.Android 中的动画有哪几类 , 它们的特点和区别是什么

视图动画 , 或者说补间动画 。 只是视觉上的一个效果 , 实际view属性没有变化 , 性能好 , 但是支持方式少 。

属性动画 , 通过变化属性来达到动画的效果 , 性能略差 , 支持点击等事件 。 android 3.0

帧动画 , 通过drawable一帧帧画出来 。

Gif动画 , 原理同上 , canvas画出来 。

具体可参考:https://i.cnblogs.com/posts?categoryid=672052

21.如何修改 Activity 进入和退出动画

overridePendingTransition

22.SurfaceView & View 的区别

view的更新必须在UI thread中进行

surfaceview会单独有一个线程做ui的更新 。

推荐阅读