1,理解资源引用的两种方式,理解视图层和活动层的分离
2,使用菜单menu和item,销毁活动可以调用活动的finish()方法
3,使用intent,活动间跳转的桥梁,直接创建intent实例,new Intent(OneActivity.this,OtherActivity.class)startActivity(intent)
4,使用隐式的intent,在活动注册中声明action和category,在intent中实例化
5,intent.setData(Url url)方法指定打开的资源路径,可以在隐式注册时指定scheme,host,port,path,mimeType,intent还可以指定tel协议的资源地址
6,活动之间可以传输数据,利用intent的缓存数据和取数据功能,如果需要将数据返回给调用活动,启动intent就需要用startActivityForResult(intent,1)方法和标识符用来接收后面活动的判断,其他活动setResult,重写回调函数onActivityResult方法,如果回退按钮也要获取则可以重写onBackPressed方法
7,理解活动的生命周期:onCreate,onStart,onResume,onPause,onStop,onDestory,直接在活动中重写这些方法即可实现自己的逻辑
8,为防止资源被回收导致数据传输异常,可以通过重写onSaveInstanceState(Bundle outstate)方法进行资源缓存,配合intent可以灵活的传输数据.
9,活动的启动模式:standard,singleTop,singleTask,singleInstance,在注册活动的时候可以指定活动的launchMode来选择.
活动的默认模式是standard:每次调用活动的时候都会创建一个实例放入栈中,依次出栈.不管栈顶是否有当前活动实例都创建一个实例
singleTop模式:一个活动创建一个实例,活动间调用不在栈顶也会创建实例
singleTask模式:检查栈,如果有则用,否则新建一个实例,这种模式只有存在一个实例
singleInstance模式:会有一个单独的返回栈来管理这个活动,解决了共享活动实例的问题,单独的栈会等其他相同taskId出栈后再出栈或者先出栈再让其他栈出栈
10,知晓当前是在哪一个活动,写一个中间活动,调用中间活动是打印出调用这的名字(getClass().getSimpleName())
11,随时随地的退出程序,写一个list,然后产生活动的时候加进去,销毁的时候移除,如果想一下子全部销毁则循环全部finish()掉,判断下是否finishing中,最后可以调用杀掉当前进程的方法android.os.Process.killProcess(android.os.Process.myPid())杀死当前进程.
12,启动活动的最佳写法,写一个启动类,将Context作为参数,intent来存放数据,利用context来启动活动,调用时通过传递参数来简化代码