• Android虚拟机:Dalvik
    Dalvik与jvm的不同在于前者并没有使用JVM的规范,虽然它本质上也是java虚拟机。Dalvik利用linux进程管理的特性,对其进行了面向对象的设计,使其可以同时运行多个进程,而传统的java程序只能运行一个进程。每个Android程序都是用了一个Dalvik进程,因此Android系统更方便实现对应用程序进行隔离。
  • AlertDialog:
    create(): 只进行创建,而不显示
    show(): 既进行创建,又显示
public AlertDialog show() {
    AlertDialog dialog = create();
    dialog.show();
}
  • 把进程移到前台的情况
  • android初级期末考试 android期末考试试卷_数据

  • 陀螺仪访问不需要在AndroidMannifest.xml文件中申请权限
  • 自行调用onStop时并不能退出Activity
  • 进程的重要顺序:前台进程,服务进程,后台进程,空进程。销毁的顺序就是倒过来
  • 序列化:Serializable和Parcelable
  • 序列化的目的:
  1. 永久保存对象数据
  2. 将对象数据在网络上进行传输(因为网络传输是以字节流的形式传输的,而序列化的目的就是将对象数据转换成字节流的形式)
  3. 将对象数据在Activity之间传递
  4. Intent之间传递数据,但数据比较复杂的时候就需要把数据进行序列化
  5. Java允许我们在内存中创建可复用的Java对象,但只有在JVM运行的情况下这个对象的才能存在,但如果想保存某个对象则需要进行序列化才行
  • 实现:
  1. Serializable只需要implemnets一下接口即可
  2. Parcelable则需要implements一下接口同时还需要对内部的方法进行重写
  • 比较:
  1. 内存使用中,P的性能要好于S
  2. S在序列化中会产生大量的临时变量(由于反射机制),从而导致了GC的频繁使用,所以性能不高
  3. P在内存的上的开销比较小,因此在内存之间传数据的时候官方推荐P
  4. 读写数据的时候,P在内存中读写,S使用IO流在硬盘中进行读写
  5. 数据持久化方面S更好
  • Android的动画类型:
  1. Tween(补间动画):包含alpha,scale;设置初值和末值即可
  2. Frame(帧动画):translate和rotate;需要图片较多,会导致apk太大
  3. ObjectAnimation,ValueAnimation(属性动画):卫星菜单