`
zengxx1989
  • 浏览: 294623 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论
阅读更多
什么是ANR 如何避免它?
ANR:Application Not Responding,五秒
在Android中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应。当出现下列情况时,Android就会显示ANR对话框了: 
对输入事件(如按键、触摸屏事件)的响应超过5秒 
意向接受器(intentReceiver)超过10秒钟仍未执行完毕
Android应用程序完全运行在一个独立的线程中(例如main)。这就意味着,任何在主线程中运行的,需要消耗大量时间的操作都会引发ANR。因为此时,你的应用程序已经没有机会去响应输入事件和意向广播(Intent broadcast)。 
因此,任何运行在主线程中的方法,都要尽可能的只做少量的工作。特别是活动生命周期中的重要方法如onCreate()和 onResume()等更应如此。潜在的比较耗时的操作,如访问网络和数据库;或者是开销很大的计算,比如改变位图的大小,需要在一个单独的子线程中完成(或者是使用异步请求,如数据库操作)。但这并不意味着你的主线程需要进入阻塞状态已等待子线程结束 -- 也不需要调用Therad.wait()或者Thread.sleep()方法。取而代之的是,主线程为子线程提供一个句柄(Handler),让子线程在即将结束的时候调用它(xing:可以参看Snake的例子,这种方法与以前我们所接触的有所不同)。使用这种方法涉及你的应用程序,能够保证你的程序对输入保持良好的响应,从而避免因为输入事件超过5秒钟不被处理而产生的ANR。这种实践需要应用到所有显示用户界面的线程,因为他们都面临着同样的超时问题。 
2.什么情况会导致Force Close ?如何避免?能否捕获导致其的异常?
一般像空指针啊,可以看起logcat,然后对应到程序中 来解决错误
3、Android本身的api并未声明会抛出异常,则其在运行时有无可能抛出runtime异常,你遇到过吗?诺有的话会导致什么问题?如何解决?


4、简要解释一下activity、 intent 、intent filter、service、Broadcase、BroadcaseReceiver
一个activity呈现了一个用户可以操作的可视化用户界面
一个service不包含可见的用户界面,而是在后台无限地运行
可以连接到一个正在运行的服务中,连接后,可以通过服务中暴露出来的借口与其进行通信
一个broadcast receiver是一个接收广播消息并作出回应的component,broadcast receiver没有界面
intent:content provider在接收到ContentResolver的请求时被激活。
activity, service和broadcast receiver是被称为intents的异步消息激活的。
一个intent是一个Intent对象,它保存了消息的内容。对于activity和service来说,它指定了请求的操作名称和待操作数据的URI
Intent对象可以显式的指定一个目标component。如果这样的话,android会找到这个component(基于manifest文件中的声明)并激活它。但如果一个目标不是显式指定的,android必须找到响应intent的最佳component。
它是通过将Intent对象和目标的intent filter相比较来完成这一工作的。一个component的intent filter告诉android该component能处理的intent。intent filter也是在manifest文件中声明的。

5、IntentService有何优点?
其实它也是避免ANR的方法:
IntentService 的好处

  * Acitivity的进程,当处理Intent的时候,会产生一个对应的Service
  * Android的进程处理器现在会尽可能的不kill掉你
  * 非常容易使用
1. View的刷新:
在需要刷新的地方,使用handle.sendmessage发送信息,然后在handle的getmessage里面执行invaliate或者postinvaliate.
2. GC内存泄露
出现情况:
1.数据库的cursor没有关闭
2.构造adapter时,没有使用缓存contentview
   衍生listview的优化问题-----减少创建view的对象,充分使用contentview,可以使用一静态类来优化处理getview的过程/
3.Bitmap对象不使用时采用recycle()释放内存
4.activity中的对象的生命周期大于activity
调试方法: DDMS==> HEAPSZIE==>dataobject==>[Total Size]
还有其他问题,大家欢迎提出阿,可以是整体架构的,还有这个Hal层.


1. Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念
DVM 执行时,在linux看来就是一应用程序进程,所以说是同一概念

2. sim卡的EF 文件有何作用
sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本 身可以有自己的操作系统,EF就是作存储并和手机通讯用的

4.嵌入式操作系统内存管理有哪几种, 各有何特性
页式,段式,段页,用到了MMU,虚拟空间等技术

5. 什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?
分 硬实时和软实时,android属于linux内核,linux在用户空间可抢占,内核空间在2.4以后可局部抢占,严格来讲 Android属于软实时系统

6. 一条最长的短信息约占多少byte?
一条短信可以输入

中文70(包括标点)英文160个字节


Android面试题

1.    请描述下Activity的生命周期。
2.    如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
3.    如何将一个Activity设置成窗口的样式。(Edited by Sodino)
4.    如何退出Activity?如何安全退出已调用多个Activity的Application?
5.    请介绍下Android中常用的五种布局。

最常用的布局方式为LinearLayout、RelativeLayout、FrameLayout、TableLayout AbsoluteLayout。其中LinearLayout和RelativeLayout是最常用的方式,他们可以通过在xml配置文件或者代码中进行布局。

FrameLayout 最简单的布局方式,放置的控件都只能罗列到左上角,控件会有重叠,不能进行复杂的布局。
LinearLayou可以通过orientation属性设置线性排列的方向是垂直(vertical)还是纵向(horizontal).每行或每列只有一个元素,可以进行复杂的布局。
AbsoluteLayout 可以让子元素指定准确的x/y坐标值,并显示在屏幕上。AbsoluteLayout 没有页边框,允许元素之间互相重叠(尽管不推荐)。他是绝对坐标,所以在实际中不提倡使用。
RelativeLayout 允许子元素指定他们相对于其它元素或父元素的位置(通过ID 指定)。因此,你可以以右对齐,或上下,或置于屏幕中央的形式来排列两个元素。元素按顺序排列,因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素将以屏幕中央的相对位置来排列。这个是相对于 AbsoluteLayout 的,采用的相对坐标,所以在实际中比较常用。
TableLayout 将子元素的位置分配到行或列中。一个TableLayout 由许多的TableRow 组成,每个TableRow 都会定义一个 row 。TableLayout 容器不会显示row 、column或cell 的边框线。每个 row 拥有0个或多个的cell ;和html中的table差不多。在实际中也经常使用。
    有的时候我们也会用到GridView,就像我们手机屏幕上摆放的各个图标应该就是用GridView排版的。 Padding是文字相对于边框,而Margin是边框相对于父窗体。


6.    请介绍下Android的数据存储方式。(Edited by Sodino)
7.    请介绍下ContentProvider是如何实现数据共享的。(Edited by Sodino)
8.    如何启用Service,如何停用Service。(Edited by Sodino)
9.    注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。
10.    请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。
11.    AIDL的全称是什么?如何工作?能处理哪些类型的数据?
12.    请解释下Android程序运行时权限与文件系统权限的区别。(Edited by Sodino)
13.    系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。
14.    有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息。请写一个算法,将该图片所有的白色不透明(0xffffffff)像素点的透明度调整为50%。
15.    你如何评价Android系统?优缺点。

分享到:
评论

相关推荐

    c++面试题面试题面试题面试题

    c++面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试...

    【BAT必备】分布式相关面试题大全面试题

    【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】...

    牛客大数据面试题集锦+答案,共523道,46W+字。大厂必备

    大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...

    2023java最新阿里巴巴面试题,2023java最新阿里巴巴面试题

    2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里...

    个人面试题总结(java,数据库,前端).zip

    文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...

    华为面试题华为面试题华为面试题华为面试题华为面试题

    JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...

    (完整版)运维面试题(含答案).pdf

    (完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...

    ERP工程师面试题ERP工程师面试题

    ERP工程师面试题ERP工程师面试题ERP工程师面试题ERP工程师面试题

    ajax面试题ajax面试题

    关于Ajax的常见面试题 1,Ajax和javascript的区别? javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript。 Javascript是由...

    c#笔试面试题 c#笔试面试题

    c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    最新各大公司企业真实面试题-Java面试题

    最新各大公司企业真实面试题-Java面试题最新各大公司企业真实面试题-Java面试题

    AS3.O笔试题 2011年珠海某著名游戏公司面试题 FLASH开发试题

    flahas3.0面试题 flash as3.0面试题 as3.0面试题 as3.0面试题最新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新...

    北大青鸟JAVA面试题

    北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题...

    【BAT必备】zookeeper面试题

    【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】...

    【BAT必备】kafka面试题

    【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    面试题面试题面试题面试题面试题

    面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题...

    JAVA面试题JAVA面试题JAVA面试题

    JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题

Global site tag (gtag.js) - Google Analytics