(1)standard 默认模式:每次激活Activity时都会创建Activity实例,并放入回退栈中。
(2)singleTop 如果在回退栈的栈顶正好存在该Activity的实例,就重用该实例,只要不在栈顶,都会创建实例。
(3)singleTask 如果在栈中已经有该Activity 的实例,就重用该实例。重用时,会让该实例回到栈顶,因此在
它上面的实例将会被移除栈。
(4)singleInstance 在一个新栈中创建该Activity 实例,并让多个应用共享该Activity 实例。
2、Android中常用的布局有哪些?
(1)LinearLayout 线性布局
(2)RelativeLayout 相对布局
(3)FrameLayout 帧布局(框架布局)
(4)GridLayout 网格布局
(5)TableLayout 表格布局
(6)AbsoluteLayout 绝对布局
3、ListView优化方案有哪些?数据集合更新后如何更新ListView显示?
(1)重写getView方法,对view对象的复用做的优化。
(2)viewHolder类,调用setTag和getTag方法,将view与holder对象进行绑定。
(3)分页加载
4、Intent都可以传递哪些数据类型?
(1)第一类:简单或基本数据类型 如:putExtra(String name, int[] value)
(2)第二类:传递一个Bundle
(3)第三类:传递Serializable对象
(4)第四类:Parcelable对象
(5)第五类:Intent
5、Fragment和Activity之间是如何传值的?
(1)方式一:拿到对方的对象。如Activity拿到Fragment的对象
(2)方式二:Actviity传递给Fragment,可以通过fragment的setArguments(bundle);getArguments()
(3)方式三:Fragment传递给Activity。可以在Fragment中定义一个内部接口回调,让Activity去实现。
6、介绍下Android都有哪些数据存储方式?
(1) 通过SharedPreferences方式存储,这类存储主要适用于存储信息量小的操作。具有操作和存储简便,
代码简单的特点
(2) 通过SD卡等磁盘介质存储,这类一般都是存成文件的形式。适用于存储信息量大,操作相对复杂些。
(3) 通过数据库,一般都是sqlite的方式进行存储,适用于存储信息量适中,这类存储在查询的时候比较
方便。而且能很好的支持SQL语句。
(4) 通过网络方式存储到其他服务器,这类一般适用于CS方式,且存储数据需要集中存储,具有联网的性
质。比如网游或者复杂应用。
7、解释Message、Handler、MessageQueue、Looper之间的关系,以及如何工作的?
Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,
再有Handler进行Message的分发和处理.
(1)Message Queue(消息队列):用来存放通过Handler发布的消息,通常附属于某一个创建它的线程,
可以通过Looper.myQueue()得到当前线程的消息队列
(2)Handler:可以发布或者处理一个消息或者操作一个Runnable,通过Handler发布消息,消息将只
会发送到与它关联的消息队列,然也只能处理该消息队列中的消息
(3)Looper:是Handler和消息队列之间通讯桥梁,程序组件首先通过Handler把消息传递给Looper,
Looper把消息放入队列。Looper也把消息队列里的消息广播给所有的
(4)Handler:Handler接受到消息后调用handleMessage进行处理
(5)Message:消息的类型,在Handler类中的handleMessage方法中得到单个的消息进行处理
8、页面上有ProgressBar控件,请写一个线程用十秒的时间来完成其从0-100的显示。