云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > android 测试题 答案

android 测试题 答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 16:00:11

答案说明:(1)ANR Application Not Response 应用无响应。主线程(UI线程)。

(2)如果在主线程中进行了耗时的操作(比如连接网络,拷贝大数据)Thread.sleep(); (3)避免ANR,可以把耗时操作放到子线程。

(4)在4.0之后谷歌强制要求连接网络不能在主线程中进行访问。

09-26 01:49:03.818: W/System.err(1638): android.os.NetworkOnMainThreadException (5)只有在主线程(UI线程)才可以更新UI

09-26 01:51:50.050: W/System.err(1708): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

(6)消息机制可以用来处理这种更新UI的情况。 5、

由于子线程不能更新UI代码,我们可以使用下列哪种方式()解决这个问题。(10分) A、在子线程中使用setImageView(..)设置图片 B、调用runOnUiThread(.. )方法中更新ui

C、在子线程中用handler发送message给主线程,然后在主线程中更新ui D、Thread中直接更新ui 参考答案:B,C

答案说明:runOnUiThread(),顾名思义就是运行在UI线程,也就是主线程。

1. 如果仅仅就是更新UI,那么我们可以用runOnUiThread(),当中的代码都会在主线程中执行。2. 当我们需要传递参数的时候,这时候就需要使用handler来实现 判断题 共0题满分:0分 填空题 共1题满分:10分 6、

_____ 主要用于存放所有通过Handler发送的消息。 (10分)

参考答案:MessageQueue 答案说明:1. Message

Message是在线程之间传递的消息,它可以在内部携带少量的信息what字段,用于在不同线程之间交换数据。除此之外还可以使用arg1和arg2字段来携带一些整型数据,使用obj字段携带一个Object对象。 2. Handler

Handler顾名思义也就是处理者的意思,它主要是用于发送和处理消息的。发送消息一般是使用Handler的sendMessage()方法,而发出的消息经过一系列地辗转处理后,最终会传递到Handler的handleMessage()方法中。 3. MessageQueue

MessageQueue是消息队列的意思,它主要用于存放所有通过Handler发送的消息。这部分消息会一直存在于消息队列中,等待被处理。每个线程中只会有一个MessageQueue对象。 4. Looper

Looper是每个线程中的MessageQueue的管家,调用Looper的loop()方法后,就会进入到一个无限循环当中,然后每当发现MessageQueue中存在一条消息,就会将它取出,并传递到Handler的handleMessage()方法中。每个线程中也只会有一个Looper对象。 简答题 共1题满分:20分 7、

简单介绍一下Handler使用步骤.(20分) 参考答案:1 在主线程创建Handler对象

Private Handler handler = new Handler(){ }

2 重写handlemessage方法

3 拿着主线程创建的Handler发送一条消息 handler.sendMessage();

4 重写的handlemessage方法就会接收到我们发送的消息.

答案说明:Android4.0以后不能在UI线程访问网络,而子线程也不能更新UI界面。为了根据下载进度实时更新UI界面,就需要用到Handler消息机制来实现线程间的通信,一般我们在主线程创建Handler对象.然后开启一个子线程去访问网络处理耗时的任务,然后通过主线程创建的Handler发送消息,消息就被加入到了消息队列MessageQueue中,系统里有一MainLooper(主消息的循环器),不断的监视消息队列,一旦发现消息队列里有消息,就把消息给取出来交给Handler,我们重写Handler的handleMessage()方法,在这个方法里面去更新ui. 代码题 共1题满分:20分 8、

编写一个图片查看器的案例,访问指定的url地址,并将获取到的图片更新ui界面。(请使用除handler以外的方式)。(20分)

答案说明:子线程不能更新ui,所以通过runOnUiThread在主线程中更新ui. Xml布局文件:

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

答案说明:(1)ANR Application Not Response 应用无响应。主线程(UI线程)。 (2)如果在主线程中进行了耗时的操作(比如连接网络,拷贝大数据)Thread.sleep(); (3)避免ANR,可以把耗时操作放到子线程。 (4)在4.0之后谷歌强制要求连接网络不能在主线程中进行访问。 09-26 01:49:03.818: W/System.err(1638): android.os.NetworkOnMainThreadException (5)只有在主线程(UI线程)才可以更新UI 09-26 01:51:50.050: W/System.err(1708): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the o

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com