`
zhonglunshun
  • 浏览: 139551 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

安卓面试易考题(四)

阅读更多

安卓面试易考题(四)

面试题一:AIDL的全称是什么?如何工作?

    Android interface definition language (android接口定义语言) ,

用来跨进程的访问方法, 像 游戏中调用支付宝接口就是用的这个。

访问远程的服务的方法. 如何工作。

 

面试题二Android程序运行时权限与文件系统权限的区别?

    程序运行时权限Android程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 打电话,访问网络,获取坐标,sd,读写联系人等..安装的时候会提示用户。

    文件系统权限:其实就是Linux的文件系统权限,比如-rw------ 私有权限 -rw-rw-rw- 全局可读可写,(777是可读可写可执行1+2+4)还有sharedpreference里面的Context.Mode_private

  Context.Mode.world_read_able   Context.Mode_world_writeable夜市文件系统的权限。

 

面试题三:系统上安装了多种浏览器,能否指定某浏览器访问指定页面?

    找到对应的浏览器的意图,传递数据URI , 激活这个意图

Intent .setAction(VIEW)

       Intent intent = new Intent();

 // com.android.browser/.BrowserActivity

       intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity ");

       Intent.setdata(uri);

像腾讯那个检测是否安装自己的浏览器,方法是queryintentactivity(),获取到所有Action。然后查里面有没有自己浏览器的action,没有的话就提示用户。

 

面试题四:对主线程的理解:

    耗时的不能再主线程做,会anr异常,像安卓四大组件都是在主线程里面。

 

面试题五:Framework工作方式及原理,Activity是如何生成一个view的,机制是什么?

所有的框架都是基于反射 和 配置文件(manifest)的。

Activity创建一个view是通过 ondraw 画出来的, 画这个view之前呢,还会调用onmeasure方法来计算显示的大小.但是Surfaceview 是直接操作硬件的,因为 或者视频播放对帧数有要求,onDraw效率太低,不够使,Surfaceview直接把数据写到显存。

 

面试题六:android本身的一些限制,比如apk包大小限制,读取大文件时的时间限?

    如果在broadCast里面不能超过10秒,

    service里面不能超过20

    在主线程里面不能超过5秒。

像有些系统不能安装大文件,我们一般是把素材文件放到一个素材包而不是安装包,两者区分开。

面试题七:如何加载的音乐信息,如何改善其效率?

    Android提供mediascanner,mediaStore等接口, 音乐文件的信息都会存放到系统的数据库表中,可以通过content provider获取,

显示出来,改善效率,是个常见问题, 可以从以下几个方面作答,

1.分批加载数据, 延时加载数据, 合理使用缓存等...

2.预先加载一些 都会的使用的大的class的字节码, 提前加载.

3.时间换时间

4.空间换时间

 

面试题八:ListView如何提高其效率?

    1.异步加载数据分页加载数据,使用 onscallLinster();

   2.Static class ViewHolder

   3. 使用静态的view对象 避免创建过多的view.

   4. 把下载后的数据缓存到数据库里

   5. 客户端和服务器 协同 作战,比如说客户端请求图片的时候,先把自己的图片数据和服务器比对一下,如果服务器图片未更新,就拿缓存。看客户端图片的If-modify-since :属性就只掉最后修改时间,在网易新闻客户端就用到了这个。

 

面试题九:启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?

    如果在点击图标进入,就会开启一个新的任务栈,如果startActivity的话默认情况不会开启一个新的任务栈。只有我们在activity制定Flag-- flag_activity_new_task才会开新的。

 

面试题十:Android程序与Java程序的区别?

1. Android程序用android sdk开发,java程序用javasdk开发.

2. Android SDK引用了大部分的Java SDK,少数部分被Android SDK抛弃,比如说界面部分,java.awt  swing  package除了java.awt.font被引用外,其他都被抛弃,在Android平台开发中不能使用。

3. android sdk 添加工具jar httpclient , pull  openGL

4. 1.6的 不支持 httpUrlconning 获取 last-modified 信息的处理

5. simpleDataFormat java中年时小写,在安卓里面是大写。

 

面试题十一:Android中,怎么节省内存的使用,怎么主动回收内存?

<!--[if !supportLists]-->1.  <!--[endif]-->尽量多使用内部类 提高程序效率

<!--[if !supportLists]-->2.  <!--[endif]-->bean里面的字段都定义成public Bean private public

<!--[if !supportLists]-->3.  <!--[endif]-->回收已经使用的资源

<!--[if !supportLists]-->4.  <!--[endif]-->合理的使用缓存

<!--[if !supportLists]-->5.  <!--[endif]-->合理设置变量的作用范围  比如不是全局使用就不要定义为application 对象

<!--[if !supportLists]-->6.  <!--[endif]-->未来的某一段时间执行  System.gc();

 

面试题十二:不同工程中的方法是否可以相互调用?

可以,aidl就是这样子的。支付宝服务。

 

面试题十三:dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念?

    Dvm的进程是dalivk虚拟机进程,每个android程序都运行在自己的进程里面,

每个android程序系统都会给他分配一个单独的liunx  uid(user id),

每个dvm都是linux里面的一个进程.所以说这两个进程是一个进程.

 

面试题十四:如何判断是否有SD卡?

    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))

 

面试题十五:嵌入式操作系统内存管理有哪几种, 各有何特性。?

    这是大学里面操作系统的知识,包括纯分页,纯分段和段页式存储。

 

面试题十六:什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?

    实时操作系统分为两种,硬实时和 软实时,硬实时一般用在军工,比如火星探测器,航空啊等等,是一旦又中断产生就会立即响应中断,而软实时是基于一套算法,可以不立即响应中断,我们一般的操作系统都是软实时操作系统,Android也不例外。

 

面试题十七:Linux中跨进程通信的几种方式?

    管道( pipe )信号量( semophore ),信号 ( sinal ),共享内存( shared memory ),套接字( socket )

 

面试题十八:谈谈对Android NDK的理解

    1.实时性要求高的软件。比如游戏,图形渲染,   opencv (人脸识别)

    2.调用C或者c+++的代码库,第一是性能好,第二是人家写好了直接能用了,而java的代码库太少了。ffmpeg , rmvb  mp5 avi 高清解码. ffmpeg, opencore

    3.优点:效率高,缺点:出错之后不好调试,写起来也麻烦。软件升级的时候也不方便。

 

面试题十九:Android UI中的View如何刷新。

    分主线程和子线程中两种情况:‘

    主线程用控件调用Invalide()方法。iv.invalidate();

子线程用控件调用postInvalidate();---iv.postInvalidate();

 

 

0
0
分享到:
评论

相关推荐

    阿里巴巴Android面试题集(答案解析)1

    **第四章 Android面试题** **第一节 Android基础面试题** - Activity生命周期:各状态转换及保存/恢复状态。 - Intent的作用:组件间通信、启动服务等。 - Android四大组件:Activity、Service、BroadcastReceiver...

    Android70道面试题汇总面试不再愁.pdf

    Android面试题汇总 本文将对 Android 相关的面试题进行总结和解释,涵盖了 Android 开发中的多个方面,包括内存回收、异常处理、Math函数、Activity 生命周期、Intent 传递数据、SAX 解析 XML 文件、自定义 Style、...

    联想Android面试题.pdf

    Android 面试题知识点总结 根据提供的文件信息,我们可以总结出以下知识点: 1. Activity 生命周期: * onCreate(Bundle savedInstanceState):创建 activity 时调用,用于初始化 activity。 * onStart():...

    安卓考试及面试题

    这份"安卓考试及面试题"的资料集将涵盖一系列关键知识点,帮助开发者和初学者强化基础,提升技能。以下是对这些主题的详细阐述: 一、安卓系统架构 了解安卓系统的分层结构是基础,包括Linux内核层、硬件抽象层...

    Android面试题 答案精编第三版

    《Android面试题 答案精编第三版》是一本专为Android开发者准备的面试指南,旨在帮助读者全面掌握Android领域的核心知识点,并在面试中表现出色,顺利拿到理想的offer。这本书包含了众多面试中常见的问题,涵盖了从...

    Android面试题(详细答案).doc

     13.android 中下列属于Intent的作用的是(c)  A、实现应用程序间的数据共享  B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失  C、可以实现界面间的切换,可以...

    android基础面试考试

    android基础知识,android期末考试试题,android面试.

    百度Android工程师职位面试考题.rar

    百度Android工程师职位面试考题

    面试前必做的题和认证考试题

    在准备面试和认证考试的过程中,理解并掌握相关知识点至关重要。面试和认证考试是评估个人技能、知识和经验的重要方式,对于求职者或寻求职业发展的人来说,这些都是通向成功的关键步骤。 首先,我们要明白面试通常...

    Android高薪面试题集50道

    android 系统架构? 答:1)应用程序层 java 语言 应用程序开发 2)应用程序框架层 java 语言 OS 定制 framework 层开发 3)系统运行库层 C C++ 实现 so 库 4)Linux 内核层

    Java精选面试题,题库非常全面,累计 20000+ 道面试题

    2022年面试题,Java基础面试题、JVM面试题、并发编程与线程面试题、设计模式面试题、SpringBoot面试题、SpringCloud面试题、MyBatis面试题、Redis面试题等。包括Java基础、Java集合、Java并发、JVM、Java WEB、设计...

    Android面试试题集合.rar

    安卓(Android)是一种操作系统,由谷歌公司开发和维护。下面是安卓的历史概述: - 2003年,安卓项目在美国创立,旨在开发基于Linux的智能手机操作系统。 - 2005年,谷歌公司收购了安卓公司,并开始对移动设备市场...

    Android面试必备笔试题.pdf

    【Android数据存储方式】 ...以上是Android面试中常见的一些知识点,涵盖了数据存储、架构模式、线程通信、组件交互以及UI性能优化等多个方面。理解和掌握这些知识点对于Android开发者来说至关重要。

    Android 面试资料

    这份"Android面试资料"集合了经典面试考题,旨在帮助你全面准备各种Android面试,确保你在面试中无懈可击,战无不胜。以下是对每个文件内容的详细解读: 1. **Android基础面试题.docx**:这个文档可能包含了Android...

    Android面试题经典.pdf

    在Android面试中,涵盖的知识点广泛且深入,包括Android系统架构、进程管理、内存管理、实时操作系统、短信机制、动画实现、线程通信、设计模式以及应用开发实践等多个方面。以下是对这些知识点的详细说明: 1. **...

    PCCW电讯盈科面试题

    通过对"PCCW Solutions 初级开发人员面试考题V1.8"的分析,我们可以深入理解该公司对于初级开发人员的技术要求和能力评估。 首先,面试题目通常包括基础编程知识的考察,如Java、Python、C++等常见编程语言的基本...

    Android面试题原版.pdf

    在Android面试中,涉及的知识点广泛,涵盖Java基础、Android核心概念以及编程实践。以下是基于给定内容的一些关键知识点的详细解释: 1. **流的分类**: Java的`java.io`包中的流按功能可分为输入流和输出流,字节...

    2019Android Framework 高频面试题总结.pdf

    了解Android Framework的实现机制和工作原理对于深入研究Android系统以及准备相关的技术面试都非常重要。 AMS(Activity Manager Service)是Android系统中的核心组件之一,它的主要作用是管理Android应用程序的...

    SCJP模拟题104道 考你的java知识 对你面试有帮助

    这些题目涵盖了Java编程语言的基础和核心概念,是准备SCJP(Sun Certified Programmer for the Java 2 Platform)考试或提升Java面试技巧的重要资源。下面将详细解释每个问题涉及的知识点: 1. 第一题考察类型转换...

    某公司android面试题.pdf

    以上是Android面试题中涉及的一些关键知识点,包括Java基础、内存管理、异常处理、字符串处理、逻辑运算、Activity生命周期、Intent使用、XML解析和自定义样式等内容,这些都是Android开发者必备的知识。

Global site tag (gtag.js) - Google Analytics