《第一行代码-Android》学习笔记(一)

来源:互联网 发布:什么域名代表公司 编辑:程序博客网 时间:2024/05/21 09:37

1.活动的启动模式:

a) standard:默认启动模式,系统不会在乎这个活动是否已经在返回栈中已经存在,每次都会创建该活动的一个新的实例;

b) singleTop:当启动活动时发现返回栈的栈顶已经是该活动了就不会再创建新的活动实例

c) singleTask:可以确保整个应用程序的上下文只存在一个实例;

d) singleInstance:这个模式比较复杂,这种模式下会有一个单独的返回栈来管理这个活动,不管是哪个应用程序来访问这个活动,都公用的同一个返回栈,这就解决了共享活动实例的问题。

i. 这里做返回操作时会有一种情况,就是打开A,B,C三个活动,BsingleInstance,当从C返回时,就不再是一开始的顺序cba了,而是cab,因为ac在同一个栈,而b自己在另一个栈。

e) 在哪设置:activity标签中的launchMode中设置

 

 

2.如何巧妙的知晓当前的活动是哪个活动?

a) 在企业中接手别人的代码时,可能会找了半天找不到别人的代码,这个时候如果项目中的activity都有一个baseActivity的话,可以在base活动的oncreate中通过打log的方式获得当前实类的类名;

 

3.如何随时随地的退出程序?

比如一个应用已经启动了ABC三个活动,这个时候停在了C活动,此时要停止活动,要按三次back键,很不合理。

我们可以通过建立一个activity的集合管理类来控制;

 

4.<>1.5的新特性

泛型如果是?表示可以放Object类型以及他的子类。如果是String 表示只能接收String以及他的子类。Class<?> c表示这个Class可以放任意的类,?表示object(所有类都隐性从Object继承的)

Class<String> c 只能接收String和他的子类Class cClass<?>c性质是一样的

0 0