1.写出Android四大组件,并指出其注册的方式有什么不同?

 

2.String和StringBuffer的区别?

==》StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。

 

3.启动一个Activity有哪几种方法?

 

4.如何退出Activity?如何安全退出已调用多个Activity的Application?

==》对于单一Activity的应用来说,退出很简单,直接finish()即可。

==》a、抛异常强制退出:

  该方法通过抛异常,使程序ForceClose。

  验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出Force Close的窗口。

  b、记录打开的Activity:

  每打开一个Activity,就记录下来。在需要退出时,关闭每一个Activity即可。

  c、发送特定广播:

   在需要结束应用时,发送一个特定的广播,每个Activity收到广播后,关闭即可。

  d、递归退出

  在打开新的Activity时使用startActivityForResult,然后自己加标志,在onActivityResult中处理,递归关闭。

 

5.Activity间通过Intent传递数据大小有没有限制?

==》1M大小

 

6.如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?

==》B 完成以后又会来找A, 这个时候就有两种情况,一种是A被回收,一种是没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上参数savedInstanceState,没被收回的就还是onResume就好了。

savedInstanceState是一个Bundle对象,你基本上可以把他理解为系统帮你维护的一个Map对象。在onCreate()里你可能会 用到它,如果正常启动onCreate就不会有它,所以用的时候要判断一下是否为空。

@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
outState.putString("name", "");
Log.d(TAG, "onsaveinstancestate");
}

 

if(savedInstanceState!=null){
String name=savedInstanceState.getString("name");
}

 

7.Activity与Fragment怎么传递信息?

==》具体示例:http://www.tuicool.com/articles/iAf2qm

(a)Activity向Fragment传递数据:fragment.setArguments(bundle)

(b)2 Fragment向Activity传递数据:

  在Fragment内部定义一个回调接口.让包含该Fragment的Activity实现该接口.这样Fragment就可调用该回调方法将数据传给Activity

 

8.Fragment与Fragment怎么传递信息?

==>http://blog.csdn.net/harvic880925/article/details/44966913

 

9.Service有哪些启动方法?有什么区别?


10.Android中线程与线程间,进程与进程之间如何通信?

 

11.Android中的动画有哪几类,它们的特点和区别是什么?

 

12.Android dvm的进程和Linux的进程,应用程序的进程是否为同一个概念?

 

13.请写出单例模式(线程安全)。

 

14.请讲解一下Android中容易引起内存泄露的几点,以及解决方案。

 

posted on 2016-08-05 17:35  Rick000  阅读(89)  评论(0)    收藏  举报