安卓面试宝典

1.关于内存回收机制正确的是:

内存回收程序负责释放无用内存。

2.运行时异常有那些:

ArithmeticException(运算条件异常)、illegalArgumentException(不合法参数异常)、NullPointerException(空指针异常)、BufferUderflowException(缓冲区溢出异常)。

3.Math.round(11.5)等于12,Math.round(-11.5)等于11。

4.对一些资源以及状态的操作保存,最好时保存在生命周期的onStart中函数中。

5.intent可以传递的数据类型有serializable、charsequence、Parcelable、Bundle。

6.Intent的作用时实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带。

7.Sax解析SML文件的优点:不用事先调入整个文档,占用资源少。

8.自定义style方式:

<Resources>

     <style name="mystyle">

          <item name="android:layout_width">

          fill_parent

         </item>

</Resources>

9.在安卓中使用Menu时可能需要重写的方法有 onCreateOptionsMenu()、onOptionsitemSelected().

10.使用SqliteOpenHelper这个辅助类时,可以生成一个数据库,并可以对数据库的版本进行管理的方法是:getWriteableDatabase()、getReadableDataBase()。

11.Service生命周期的onCreate和onStart方法的生命周期:第一次启动Service时执行onCreate()和onStart()方法,Service已经启动则不会执行onCreate方法只会执行onStart方法。

12.GLSurFaceView的特性是:管理一个surface,这个surface就是一块特殊的内存,能直接排版到andorid的视图View上、管理一个EGL display,它能让opengl把内容渲染到上述surface上。让渲染器在独立的线程里运作和UI线程分离。

13.注册一个Broadcast的方法:

<receiver android:name="NewBroad">

<intent-Filltter>

<action andorid:name="android.provider.action.NewBroad">

</action>

</intent-Filltter>

</receiver>

14.关于ContentValues:他和HashTble比较类似,也是负责存储一些名值对,但是名为String类型而值都是基本类型。

15.线程销毁方法时onDestroy。

16.Activity退出的方式有finish()、抛异常退出、onStop()

17.安卓的动画有:Tween和Frame。

18.安卓 dvm进程和linux进程的关系:DVM指的时dalivk虚拟机,每一个安卓应用程序都在他自己的进程中运行,都有一个Dalvik虚拟机实例,而每个Dalvik都是Linux中的一个进程,所以可以认为时同一个概念。

19.安卓下的assets目录是用来放置多媒体等数据文件的。

20.res/raw中的文件会原封不动的存放到设备中不会转换为二进制格式。

21.NDK编程:NDK时一系列工具的集合、NDK提供了一份稳定、功能有限的API头文件申明、使JAVA加C开发方式成为官方支持的开发方式、NDK将是Andorid平台支持C开发的开端。

22.安卓中四个常用布局为:FrameLayout,Linenarlayout , relativelayout , tablelayout.

23.安卓的四大组件时 Activity , Broadcast , contentProvider, Service.

24.Java中的ObjectoutputStream 和 ObjectInputStream主要用于对象的读写。

25.安卓中Service的实现方法有:StartService和BIndService.

26.在安卓中会重载7个方法用来维护其生命周期,他们分别是onCreate、onStart()、onResume , onRestart , onpause , on stop , ondestroy.

27.安卓中数据的存储方式有:Sharepeference 数据库存储 文件存储 contentProvider 网络.

28. 当启动一个Activity并且新的Activity执行完后需要返回到启动的Actitvity来执行的回调函数时StartActivityForResult.



29.NDK编程的步骤。

1.安装和下载cygwin,下载安卓NDK工具包。

2.在NDK项目中JNI接口的设计。

3.使用C、C++实现本地方法。

4.JNI动态生成链接库.so文件。

5.将动态链接库复制到JAVA工程中,在Java工程中调用即可。


30.安卓应用程序的结构

Linux Kernel(Linux内核层)、Libraries(系统运行库或者是C/C++核心库)

FrameWork层(开发框架包) Applications(核心应用程序)


31.Sqlite数据库的建立。

通过SqliteOpenHelper的Oncreate建表,onUpgrade更新数据库。

32.安卓运行权限由Dalvik也就是安卓授权,文件系统由Linux内核授权。

33.安卓系统的优缺点。

1、开放性、挣脱运营商的束缚、丰富的硬件选择、不任何限制的开发商、无缝结合的谷歌应用。

2、安全和隐私、同类机型用户减少、缺少标准配置。

34.DDMS时一个程序执行查看器,在里面可以查看线程和堆栈等信息,TraceView时程序性能分析器。

猜你喜欢

转载自blog.csdn.net/u010675729/article/details/48313549