android面试题及答案

时间:2021-08-31

  引导语:android是这段时间非常热门的开发专业之一,而有关android的面试题及答案哪里有呢?接下来是小编为你带来收集整理的文章,欢迎阅读!

android面试题及答案

  在android中,请简述jni的调用过程。

  1)安装和下载cygwin,下载 android ndk

  2)在ndk项目中jni接口的设计

  3)使用c/c++实现本地方法

  4)jni生成动态链接库.so文件

  5)将动态链接库复制到java工程,在java工程中调用,运行java工程即可

  简述android应用程序结构是哪些?

  android应用程序结构是:

  linux kernel(linux内核)、libraries(系统运行库或者是c/c++核心库)、application

  framework(开发框架包)、applications (核心应用程序)

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

  onsaveinstancestate()

  当你的程序中某一个activity a在运行时,主动或被动地运行另一个新的activity b,这个时候a会执行onsaveinstancestate()。b完成以后又会来找a,这个时候就有两种情况:一是a被回收,二是a没有被回收,被回收的a就要重新调用oncreate()方法,不同于直接启动的是这回oncreate()里是带上了参数savedinstancestate;而没被收回的就直接执行onresume(),跳过oncreate()了。

  如何将一个activity设置成窗口的样式。

  在androidmanifest.xml 中定义activity的地方一句话android:theme="@android:style/theme.dialog"或android:theme="@android:style/theme.translucent"就变成半透明的

  请介绍下android中常用的五种布局。

  framelayout(框架布局),linearlayout (线性布局),absolutelayout(绝对布局),relativelayout(相对布局),tablelayout(表格布局)

  请介绍下android的数据存储方式。

  一.sharedpreferences方式

  二.文件存储方式

  三.sqlite数据库方式

  四.内容提供器(content provider)方式

  五. 网络存储方式

  请介绍下contentprovider是如何实现数据共享的。

  创建一个属于你自己的content provider或者将你的数据添加到一个已经存在的content provider中,前提是有相同数据类型并且有写入content provider的权限。

  请解释下android程序运行时权限与文件系统权限的区别。

  运行时权限dalvik( android授权)

  文件系统 linux 内核授权

  系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。

  通过直接发送uri把参数带过去,或者通过manifest里的intentfilter里的data属性

  什么情况会导致force close ?如何避免?能否捕获导致其的异常?

  答:一般像空指针啊,可以看起logcat,然后对应到程序中 来解决错误

  intentservice有何优点?

  答:intentservice 的好处

  * acitivity的进程,当处理intent的时候,会产生一个对应的service

  * android的进程处理器现在会尽可能的不kill掉你

  * 非常容易使用

  横竖屏切换时候activity的生命周期?

  1、不设置activity的android:configchanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

  2、设置activity的android:configchanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

  3、设置activity的android:configchanges="orientation|keyboardhidden"时,切屏不会重新调用各个生命周期,只会执行onconfigurationchanged方法