The previous article mentions that the UI thread of an Android system is a thread with a message loop (Looper) mechanism, while Android also provides a Handlerthread class that encapsulates a message loop (Looper) that can bind handler () objects, A message is sent to the thread through the SendMessage () function of handler, and the message received by the thread is processed through the handlemessage () f
if (looper.mylooper () = Looper.getmainlooper ()) {If we finish marking off of the main thread, we need toActually do it in the main thread to ensure correct ordering.Handler mainthread = new Handler (Looper.getmainlooper ());Mainthread.post (New Runnable () {@Overridepublic void Run () {Meventlog.add (tag, threadId);Meventlog.finish (This.tostring ());}});Return}Handler inside holds a looper,looper inside
Relationship between message, Handler, message Queue, Looper in a single-threaded model1. MessageA message is an information that can be understood as a communication between threads. Processing a data background thread requires updating the UI, and you can send a message containing some data to the UI thread.2, HandlerHandler is the processor, is the main processor of the message, responsible for sending the message, message content execution process
1. First Looper.prepare () saves an looper instance in this thread, and then holds a MessageQueue object in the instance, because Looper.prepare () can only be called once in a thread. So MessageQueue will only exist in one thread.2. Looper.loop () causes the current thread to enter an infinite loop, which reads the message from the MessageQueue instance and then callbacks the Msg.target.dispatchMessage (msg) method.3, handler the construction method,
To do a simple little demo about Handler,looper,message, a button on the main interface of the code, click Send Message (accumulate) to the thread's Looper loop, and then print it out in Logcat:Package Zhangphil.looper;import Android.os.bundle;import Android.os.handler;import android.os.looper;import Android.os.message;import Android.util.log;import Android.view.view;import Android.widget.button;import Andr
Calls in the thread containing the creation of the handler method, will be an error, prompt:"Need call Looper.prepare ()"--before creating, invoke the Looper.prepare () method to create a LooperHowever, the method that contains the create handler may be called in the main thread or in a child thread.When called in the main thread, you add the Looper.prepare () method to it, it may error, prompt:"Only one Looper can be created per thread"--within each
ThreadLocalBefore looking down, you need to know about Java's threadlocal class, you can refer to the blog:Decryption threadlocalLooper, Handler and MessageQueueLet's analyze the previous code and see what the relationship between Handle, Looper, and MessageQueue is in the handler mechanism. Packagecn.lixyz.handlertest;Importandroid.app.Activity;ImportAndroid.os.Bundle;ImportAndroid.os.Handler;ImportAndroid.os.Looper;ImportAndroid.os.Message;ImportAnd
This class of users runs the message loop in a thread. The thread does not have a message loop by default, and you can call prepare () to create a run loop in the threads, and then call Loop () to process the message until the loop endsMost of the message loop interactions are through the handler class;Class Looperthread extends thread{Public Handler handler;//Create Handler object in threadpublic void Run () {Looper.prepare ();//The thread must be created atHandler=new handler () {public void H
Book inventory plays an important key business data for warehouse management operations in books. Development at any age now promotes blood circulation in books, book types and update speed are just as fast rising.In order to ensure a foothold in the book industry, to ensure the correct purchase and inventory control and delivery. In order to avoid the backlog of
IOS Address Book programming, listening for system address book changes, and ios address book
Listen for address book changes
The client code must be implemented as follows:
/* Remove the registration function */-(void) dealloc {ABAddressBookUnregisterExternalChangeCallback (_ addressBook, ContactsChangeCallback, nil)
My previous question stopped for a long time because-I went to write a book.ObjectiveI started working in March 2012 and now I'm six years away. For the past six years, I have never known anything about SQL Server, only the simplest C # programmers have started, stepping back from a nameless outsourcing company to the middle of a larger financial institution, with wages rising to nearly four times times the size of a new job. In the process of struggle, I also go a lot of detours, once very depr
Write in frontThanks to all the friends who came in to see. Yes, I'm currently going to write a book about unity shader.The purpose of the book is to have the following several:
Summarize my experience with unity Shader and give others a reference. I am very aware of the difficulties of learning shader, and I have seen many questions raised by people in the group. I think learning shader is still a
Gitbook set up local book
1, do not login, click Do this later2, click New book–> Enter book name –>confirm3, the path of the book4. Book Display5, Release6, import others book error and introduction7, related documents ———————————————————————-
1, do not login, click Do thi
Write in frontThanks to all the friends who came in to see. Yes, I'm currently going to write a book about unity shader.The purpose of the book is to have the following several:
Summarize my experience with unity Shader and give others a reference. I am very aware of the difficulties of learning shader, and I have seen many questions raised by people in the group. I think learning shader is still a
Address: http://calibre-ebook.com/user_manual/conversion.html#convert-microsoft-word-documents
The calibre conversion system is designed to be very easy to use. Generally, you only need to add a book to calibre and click convert. calibre will generate output as close as possible to the input. However, calibre accepts many input formats, but not all of them are suitable for conversion to other formats of e-books. In this case, for these input formats
First put a picture, this is the end of the road book display effect
1, demand--2, solutions--3, implementation Method--4, subsequent expansion
1. Demand
Demand is probably like, to achieve the progress of the book play, you can forward back, pause, when the mouse hover trolley display location information (callout)
Subsequent (playback speed modification)
2, solve the idea
The original idea: I threw a bu
The interface for accessing the address book and a single contact data is a C-language function that transmits references to various objects in the address book as parameters. The base class object for managing entries in the address book is abrecord. An abrecord can represent a person or a group of abgroups. Whenever you select a record on the interface or use t
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.