Ignite

你不知道的Android

2017-07-07

Android的动画分为3种,具体如下所示:
  • 帧动画:也就是我们说的 Frame 动画。 Frame 动画是一系列图片按照一定的顺序展示的过程,
    和放电影的机制相似,它的原理是在一定的时间段内切换多张有细微差异的图片从而达到动画的
    效果。由于是一帧一帧加载,所以需要较多的图片。从而增大 APK 的大小,不过 Frame 动画
    可以实现一些比较难的效果,例如:等待的环形进度。所涉及到的Java对象有:AnimationDrawable。
  • 补间动画:也就是 Tween 动画,是操作某一个控件让其展现出旋转、渐变、移动、缩放的一种转换
    过程。是一种视觉上的变化,不是真正位置上的变化。只能运用在 View 对象上,并且功能相对来说
    较为局限。例如:旋转动画只能够在 x 、y 轴进行,而不能在z 轴放心进行旋转。因此,补间动画
    通常用于执行一些比较简单的动画。所涉及到的Java对象有:AlphaAnimation(渐变动画)、
    ScaleAnimation(缩放动画)、TranslateAnimation(位移动画)、RotateAnimation(旋转动画)。
  • 属性动画:是 Android 3.0 之后推出的,其机制不再是针对 View 来设计的,也不限于只能实现
    移动、缩放、旋转和淡入这几种简单的动画操作,同时也不再只是一种视觉上的动画效果。属性动画
    实际上是一种在一定时间段内不断修改某个对象的某个属性值的机制。所涉及到的Java对象有:
    ValueAnimator、ObjectAnimator。
APK程序的两种模式: 调试模式(debug mode)和发布模式(release mode)
  1. 调试模式(debug mode) :在调试模式下, ADT会自动的使用debug密钥为应用程序签名,因此我们可以直接运行程序。
  2. 发布模式(release mode):当要发布程序时,开发者就需要使用自己的数字证书给apk包签名

ContentResolver和 ContentProvider是一对。一个运行在提供数据端(provider),一个运行在调用端(resolver)。使用的时候利用resolver来调用provider的方法(query,insert,update等),然后provider再进行数据查询


在android 中主线程是ui线程一切的界面操作都是在主线中完成的,如果在非主线程中操作ui将会报错。
B 同时执行多个AsyncTask默认是串行执行的。
C AsyncTask必须在UI线程中创建。
D 内部默认的线程是由 SerialExecutor创建 。


  1. BroadcastReceiver 是对发送出来的广播进行过滤接收并响应的一类组件
  2. 每次广播被接收后会重新创建BroadcastReceiver对象,并在onReceiver方法中执行完时销毁
  3. 定义广播接收器类需要继承BroadcastReceiver基类,并且必须要重写onReceive()方法

NotificationManager 清除消息的方法是:cancel,cancelAll


  1. 应用运行时,Main线程进行了耗时操作 产生ANR,程序没有响应,有可能程序会再次响应
  2. 应用运行时抛出了OutOfMemoryError 程序抛出异常,会强制退出
  3. 应用运行时抛出了RuntimeException 程序抛出异常,会强制退出
  4. 应用运行时,用户操作过于频繁 产生ANR,程序没有响应,有可能程序会再次响应

在Android中,如果需要对数据进行存储,则可以使用( )方式
sharedpreference \数据库\文件\Content Provider


A. Message提供了消息池,有静态方法Obtain从消息池中取对象;
B. Thread默认不提供资源池,除非使用线程池ThreadPool管理;
C. AsynTask是线程池改造的,池里 默认提供(核数+1)个线程进行并发操作,最大支持(核数 * 2 + 1)个线程,超过后会丢弃其他任务;
D. Looper,每个Looper创建时创建一个消息队列和线程对象,也不是资源池;


下面关于Android中定义style和theme的描述正确的是?
style可以作用在Activity上
官方解释:A style is a collection of properties that specify the look and format for a View or window
A theme is a style applied to an entire Activity or application
补充一句:style和theme本质上就是同一个东西,xml格式完全相同,只是我用在activity上我就叫他theme,我用在view上我就叫他style。唯一的区别就是style里头控制的各个属性了,某些属性是只有针对Activity才能生效的(你view有标题栏嘛有状态栏有导航栏吗嘛?但是反过来Activity内部却有一个继承自View的Decorview) 。所以style可以作用在activity上,但是theme却不能反过来作用在view上


在Tween动画下,下面哪个方法可以构建一个渐变尺寸伸缩动画

  • AlphaAnimation 透明度渐变
  • ScaleAnimation 透明度渐变
  • TranslateAnimation 坐标变化
  • RotateAnimation 旋转变换

前台进程是Android系统中最重要的进程,在Andriod系统中包含

  • Activity正在与用户进行交互
  • 进程服务正在执行声明中的回调函数
  • 进程的BroadCastRecevier在执行onRecevie()函数

activity被遮挡时属于可见进程,可见进程的优先级在前台进程之下。

Tags: 牛客
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章