Evi*_*n1_ 1 java performance multithreading android
我在谈论这堂课.
主要文件说明:
定义包含可以发送到处理程序的描述和任意数据对象的消息.此对象包含两个额外的int字段和一个额外的对象字段,允许您在许多情况下不进行分配.
所以我认为它是不同线程之间的某种通信,也许是一种Bundle?
主文档中还有一些片段.但我看不出他们是如何建造的以及他们的结构是什么.
为什么要使用它们而不是使用SharedPreferences或者可能是一个Singleton类?测试?
我希望看到一个关于何时以及如何使用它们的小巧紧凑的例子.
所以我认为它是不同线程之间的某种通信
您可以将a附加Handler到主应用程序线程(也称为UI线程),并且可以HandlerThread为具有关联Handler实例的其他线程创建单独的实例.
一个线程可以发送Message,通过Handler,其中Handler将处理Message在自己的线程,在handleMessage()方法.例如,常规背景Thread可以将其工作结果(例如,下载的数据)打包成a Message,并将其提供给Handler附加到主应用程序线程的.这Handler将得到Message的handleMessage(),称为主应用程序线程,然后可以更新安全使用从后台线程数据的UI.
这是Android中一种非常低级的线程间通信方式.更常见的是,使用更高级的东西(比如事件总线)可以更好地服务.
为什么要使用它们而不是使用SharedPreferences
SharedPreferences 用于数据存储,而不是线程间通信.
或者也许是单身人士课程?
虽然单例可以提供数据的中心点,但它本身并不提供任何类型的线程间通信.
我希望看到一个关于何时以及如何使用它们的小巧紧凑的例子.
对于99%的Android开发人员来说,答案是:不要使用它们.使用的东西是建立在顶部Handler和Message,如:
AsyncTaskLocalBroadcastManager| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |