-
Android虚拟机:Dalvik
Dalvik与jvm的不同在于前者并没有使用JVM的规范,虽然它本质上也是java虚拟机。Dalvik利用linux进程管理的特性,对其进行了面向对象的设计,使其可以同时运行多个进程,而传统的java程序只能运行一个进程。每个Android程序都是用了一个Dalvik进程,因此Android系统更方便实现对应用程序进行隔离。 -
AlertDialog:
create(): 只进行创建,而不显示
show(): 既进行创建,又显示public AlertDialog show() { AlertDialog dialog = create(); dialog.show(); }
-
把进程移到前台的情况
-
陀螺仪访问不需要在AndroidMannifest.xml文件中申请权限
-
自行调用onStop时并不能退出Activity
-
进程的重要顺序:前台进程,服务进程,后台进程,空进程。销毁的顺序就是倒过来
-
序列化:Serializable和Parcelable
-
序列化的目的:
- 永久保存对象数据
- 将对象数据在网络上进行传输(因为网络传输是以字节流的形式传输的,而序列化的目的就是将对象数据转换成字节流的形式)
- 将对象数据在Activity之间传递
- Intent之间传递数据,但数据比较复杂的时候就需要把数据进行序列化
- Java允许我们在内存中创建可复用的Java对象,但只有在JVM运行的情况下这个对象的才能存在,但如果想保存某个对象则需要进行序列化才行
-
实现:
- Serializable只需要implemnets一下接口即可
- Parcelable则需要implements一下接口同时还需要对内部的方法进行重写
-
比较:
- 内存使用中,P的性能要好于S
- S在序列化中会产生大量的临时变量(由于反射机制),从而导致了GC的频繁使用,所以性能不高
- P在内存的上的开销比较小,因此在内存之间传数据的时候官方推荐P
- 读写数据的时候,P在内存中读写,S使用IO流在硬盘中进行读写
- 数据持久化方面S更好
-
-
Android的动画类型:
- Tween(补间动画):包含alpha,scale;设置初值和末值即可
- Frame(帧动画):translate和rotate;需要图片较多,会导致apk太大
- ObjectAnimation,ValueAnimation(属性动画):卫星菜单
Android试题(一)
最新推荐文章于 2024-08-21 03:20:34 发布