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中容易引起内存泄露的几点,以及解决方案。
浙公网安备 33010602011771号