-
没问题:
Handler 主要接受子线程发送的数据,并使用这些数据通过主线程更新 UI。
说明:当应用启动时,Android 会先打开一个主线程(即 UI 线程),即管理界面中的 UI 控件,并分发事件,例如,如果你点击一个按钮,Android 会将事件分发到该按钮以响应该操作。
如果此时需要耗时的操作,例如:通过Internet读取数据,或者读取本地大文件,则不能将这些操作放在主线程中,如果将它们放在主线程中,界面会冻结,如果5秒内没有完成,则会收到来自Android系统的错误消息"强制关机"。这时候就需要把这些耗时的操作放在一个子线程里,因为子线程涉及UI更新,而Android主线程是线程不安全的,也就是说更新UI只能在主线程中更新,子线程中的操作很危险。
这就是处理程序的用武之地。为了解决这个复杂的问题,由于处理程序运行在主线程(UI线程)中,它和子线程可以通过消息对象传递数据,这时处理程序负责接受来自子线程的消息对象(子线程使用sedmessage()方法传递弟弟),(其中包含数据), 将这些消息放入主线程队列中,配合主线程更新UI。
-
这取决于您拥有多少数据。 只是如果类型很多,就把要传输的数据封装成一个类,添加到消息的obj中; 如果数据量占用大量空间,直接传输可能会影响处理速度,因此可以考虑传输文件。
-
是的,将数据封装到一个类中,并将整个类传递给过去。
-
首先,处理程序创建对象后,可以在进程中传递,也可以进行大量的传递,但是我们不需要占用这样的线程; 建议您使用 intent 直接传递数组对象字符串,然后获取要使用的内容。
-
是的,因为消息类是一个对象类型,所以您可以创建一个传输数据的类,将数据存储在对象中,然后将值分配给消息类实例的 obj 成员变量,仅此而已。
-
进行状态切换。
当数据不变时,它不会传递。
当数据发生变化时,状态开关将被更改并传递。
-
请问,正在传输什么类型的数据?
-
一般情况下不会这样用,但是如果房东真的需要的话,也可以自己写一个应用,在里面定义handler变量并实现get和set方法,然后把你的handler存放在应用中,需要的时候调用它!
还可以将处理程序定义为静态变量,以便可以在其他活动中调用它。
一般来说,这两种方法用得不多,房东可以告诉你的情况**,也许有更好的解决办法吧!
如果涉及多个调用,并且是自发调用,请使用更多**!
-
实例化处理程序,然后重写 HandleMessage(Message MSG) 方法以获取线程线程发送的数据。
-
若要使活动接收消息,它需要使用自己的处理程序。
您可以在活动中声明一个静态处理程序,并在 oncreat 方法中初始化。
然后由其他线程直接调用它。
此外,还应将活动的处理程序分配给线程。
不知道为什么抽了,没办法问,关于你的程序,我会尽量调一下,消息没有问题,上一个网页访问评论直接给活动发消息,已经收到了,请检查你的**的其他部分。
男人的乐观态度会让你在精神上永远年轻。 当你朝着你所追求的目标前进时,它会增加你的快乐和自信。 你会自然而然地形成乐观的心态,幸福永远与你同在! >>>More
喝白开水是灭火的最好方法。
从营养的角度来看,纯净的白开水对健康最有益。 白开水是解渴的最佳方式,进入人体后可立即代谢,具有调节体温、输送营养物质、清除体内毒素的作用。 科学家还发现,煮沸后自然冷却的凉开水最容易穿透细胞膜,促进新陈代谢,增强人体免疫功能。 >>>More