首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

2016级移动应用开发在线测试11-线程

以下对Android系统中的多线程描述错误的是() 您的回答为:ANR全称Application Not Responding,意思就是程序未响应,常见于两种情况:应用在15秒内未响应用户的输入事件(...下面关于AsyncTask类描述错误的是() http://android.xsoftlab.net/reference/android/os/AsyncTask.html 您的回答为: 可以手动调用...,又能够在最后将执行的结果反馈给UI主线程 ()可以手动调用onPreExecute(), onPostExecute(Result), dolnBackground(Params...), onProgressUpdate...()AsyncTask类的实例必须在UI线程中创建,即在主线程中创建;execute(Params...)方法必须在UI线程中调用;AyncTask方法只能被执行一次,若多次调用将会抛出异常 8. ...http://android.xsoftlab.net/reference/android/os/AsyncTask.html 您的回答为: AsyncTask enables proper

70610

Android多线程-AsyncTaskyi(一)

,该方法将被调用, * 要注意的是这个时onPostExecute将不会被执行 */ @Override protected void onCancelled() {...(4)onPostExecute(Result), 在主线程中执行,在doInBackground 执行完成后,onPostExecute 方法将被UI线程调用,doInBackground 方法的返回值将作为此方法的参数传递到...(5)onCancelled(),在主线程中执行,当异步任务被取消时,该方法将被调用,要注意的是这个时onPostExecute将不会被执行。...(1) AsyncTask的实例必须在主线程(UI线程)中创建 ,execute方法也必须在主线程中调用 (2) 不要在程序中直接的调用onPreExecute(), onPostExecute(Result...对象只能被执行一次,也就是execute方法只能调用一次,否则多次调用时将会抛出异常 到此,AsyncTask的常规方法说明和使用以及注意事项全部介绍完了,下面我们来看一个下载案例,该案例是去下载一张大图

63520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android Handler机制13之AsyncTask源码解析

    onProgressUpdate:在doInBackground调用publishProgress后被调用,工作在UI线程 onPostExecute:后台任务结束后被调用,工作在UI线程。...如果异步任务不需要上面类型,则可以需要声明类型未使用,通过使用Void来表示类型未使用。...onPostExecute()方法, 后台任务完成后,在UI线程调用onPostExecute()方法,后台运行的结果作为参数传递给这个方法 取消任务 在任何时候都可以通过调用cancel(boolean...线程规则,这个类必须遵循有关线程的一些规则才能正常使用,规则如下: 必须在UI线程上加载AsyncTask类,android4.1上自动完成 任务实例必须在UI线程上实例化 execute()方法必须在主线程上调用...mTask参数:是为了AsyncTask是方便在handler的handlerMessage回调中方便调用AsyncTask的本身回调函数,比如onPostExecute()函数、onPreogressUpdata

    81310

    【Android 电量优化】电量优化 ( JobScheduler | JobService | AsyncTask )

    , 一般情况下是在该方法中执行更新 UI 的操作 ( 主线程, 可以更新 UI ) onPostExecute : doInBackground 执行完毕后 , 调用 return 方法后 , 该方法会被调用...; import android.os.Build; import android.os.PersistableBundle; import android.util.Log; import java.util.List...代码示例 JobService 与 AsyncTask 代码示例 : 注意 JobService 的两个方法 onStartJob , onStopJob 的调用时机 , 与返回值含义 ; 注意 AsyncTask...定义时三个泛型的含义 , onPreExecute , doInBackground , onProgressUpdate , onPostExecute 四个方法的调用时机 ; package kim.hsl.bp...③ JobScheduleManager.java 代码地址 : JobScheduleManager.java ④ BpJobService.java 代码地址 : BpJobService.java

    1.3K00

    译文:Android中糟糕的AsyncTask

    如果cancel(boolean)调用了,则执行onCancelled(Result)方法 如果cancel(boolean)没有调用,则执行onPostExecute(Result)方法 AsyncTask...如果你调用了AsyncTask的cancel(false),doInBackground()仍然会执行到方法结束,只是不会去调用onPostExecute()方法。...内存泄露 还有一种常见的情况就是,在Activity中使用非静态匿名内部AsyncTask类,由于Java内部类的特点,AsyncTask内部类会持有外部类的隐式引用。...详细请参考细话Java:”失效”的private修饰符,由于AsyncTask的生命周期可能比Activity的长,当Activity进行销毁AsyncTask还在执行时,由于AsyncTask持有Activity...当Activity销毁并创新创建后,还在运行的AsyncTask会持有一个Activity的非法引用即之前的Activity实例。导致onPostExecute()没有任何作用。

    61610

    Android 学习笔记思考篇

    异步 Android 中的异步操作基本都是使用 Java 语言内置的,唯一的简单封装的异步类 AsyncTask 有几个主要回调,我们可以通过这些回调指定那些代码在异步任务开始之前执行,哪些代码在异步任务中执行...思考完我们再来看一下源码,比如这篇文章 《Android 多线程:AsyncTask的原理 及其源码分析》,看完了有什么感想么?...既然 AsyncTask 是为了方便主线程执行异步任务的,那我们怎么避免 AsyncTask 在其他线程中创建和执行呢? 我们再来看一下网络请求,Android 有网络请求的 API 吗?...但是历史总是在进步的,技术在进步,人们的需求在提高,上个世纪的语言 Java 语言越来越难以满足开发者尤其是 Android 开发者的需要,所以 Google 和开发者很想逐渐用新的语言(如 Kotlin...Flutter 可以写 Android 和 iOS 应用,虽然看起来像 React 一样是个跨平台的框架,但是却有几分兵马未动粮草先行的味道 思考 几年前刚自学几个月 Java 和 Android 的我就使用了它参加了比赛

    60510

    Android多线程的使用

    那么Android作为一个最热门的移动操作系统,当然支持多线程编程(严格来说应该是java支持多线程编程,Android使用的是java编程语言)。...下面来看一下怎么去使用Android多线程: Android的线程和java的线程使用的都是相同的语法,如果你熟悉java,那么一定不会感到难,新建一个子线程: Thread thread = new...这个方法的返回值会传递给onPostExecute方法用于收尾 onProgressUpdate(Interge…) : 这个方法里进行UI的更新,当在doInBackground方法中调用了publishProgress...方法之后,就会调用这个方法来及时的进行UI更新 onPostExecute(Boolean result) : 这个方法用于收尾,当doInBackground方法执行完成之后就会调用这个方法,主要是对于操作进行判断是否成功...接下来仍然以上面那个例子,我们用AsyncTask来实现它: 在原来的工程基础上新建一个类MyAsyncTask.java: import android.content.Context; import

    99120
    领券