Index
A
- Activities
- used, for handling alarms / Handling alarms with Activities
- activity lifecycle
- about / The Activity lifecycle
- activity lifecycle issues, AsyncTask
- about / Activity lifecycle issues
- handling, with early cancellation / Handling lifecycle issues with early cancellation
- handling, with with retained headless fragments / Handling lifecycle issues with retained headless fragments
- AlarmManager
- alarms, scheduling with / Scheduling alarms with AlarmManager
- alarms, cancelling / Canceling alarms
- repeating alarms, scheduling / Scheduling repeating alarms
- applications / Applications of AlarmManager
- alarms
- scheduling, with AlarmManager / Scheduling alarms with AlarmManager
- cancelling, with AlarmManager / Canceling alarms
- repeating alarms, scheduling / Scheduling repeating alarms
- handling / Handling alarms
- handling, with Activities / Handling alarms with Activities
- handling, with BroadcastReceiver / Handling alarms with BroadcastReceiver
- handling, with services / Handling alarms with Services
- Android-specific concurrency issues
- about / Android-specific concurrency issues
- activity lifecycle / The Activity lifecycle
- user interface, manipulating / Manipulating the user interface
- Android thread model
- about / Understanding the Android thread model
- main thread / The main thread
- unresponsive apps / Unresponsive apps and the ANR dialog
- ANR dialog / Unresponsive apps and the ANR dialog
- responsiveness, maintaining / Maintaining responsiveness
- concurrency / Concurrency in Android
- specific concurrency constructs / Android-specific concurrency constructs
- Application Not Responding (ANR) dialog
- about / Unresponsive apps and the ANR dialog
- applications, AsyncTask
- about / Applications of AsyncTask
- AsyncTask
- about / Introducing AsyncTask
- callback methods / Introducing AsyncTask
- types, declaring / Declaring AsyncTask types
- executing / Executing AsyncTasks
- feedback, providing to user / Providing feedback to the user
- progress updates, providing / Providing progress updates
- cancelling / Canceling AsyncTask
- exceptions, handling / Handling exceptions
- concurrency level, controlling / Controlling the level of concurrency
- Executor interfaces / Controlling the level of concurrency
- issues / Common AsyncTask issues
- applications / Applications of AsyncTask
- AsyncTaskLoader
- about / Building responsive apps with AsyncTaskLoader
- used, for building responsive apps / Building responsive apps with AsyncTaskLoader
B
- BroadcastReceiver
- about / Handling alarms with BroadcastReceiver
- used, for handling alarms / Handling alarms with BroadcastReceiver
- using / Doing work with BroadcastReceiver
- goAsync, using / Doing background work with goAsync
C
- cancelLoad method
- about / Building responsive apps with AsyncTaskLoader
- concurrency
- about / Maintaining responsiveness
- concurrency, in Android
- about / Concurrency in Android
- correctness issues / Correctness issues in concurrent programs
- liveness issues / Liveness issues in concurrent programs
- specific concurrency issues / Android-specific concurrency issues
- Copy-On-Write technique
- about / Memory sharing and the Zygote
- correctness issues, concurrent programs
- about / Correctness issues in concurrent programs
- CursorLoader
- about / Building responsive apps with CursorLoader
- used, for building responsive apps / Building responsive apps with CursorLoader
D
- Dalvik executable (DEX)
- about / Introducing the Dalvik Virtual Machine
- Dalvik Virtual Machine (DVM)
- about / Introducing the Dalvik Virtual Machine
- memory sharing / Memory sharing and the Zygote
- Zygote / Memory sharing and the Zygote
- dispatchMessage method / Understanding Looper
- doInBackground method / Introducing AsyncTask
E
- exceptions, AsyncTask
- handling / Handling exceptions
- Executor interface, Service
- about / Controlling concurrency with Executors
- Executor interfaces, AsyncTask
- SERIAL_EXECUTOR / Controlling the level of concurrency
- THREAD_POOL_EXECUTOR / Controlling the level of concurrency
F
- fragmentation issues, AsyncTask
- about / Fragmentation issues
G
- getMediaIdFromIntent method
- about / Building responsive apps with AsyncTaskLoader
H
- handleMessage method / Scheduling work with send
- Handler
- attaching, to SimpleLooper / Understanding Looper
- work, scheduling with post / Scheduling work with post
- Sending Messages, versus posting Runnables / Sending Messages versus posting Runnables
- applications / Applications of Handler and HandlerThread
- Handler class
- about / Building responsive apps with Handler
- Handler programming issues
- about / Handler programming issues
- implicit references, leaking / Leaking implicit references
- explicit references, leaking / Leaking explicit references
- HandlerThread
- used, for building responsive apps / Building responsive apps with HandlerThread
- applications / Applications of Handler and HandlerThread
I
- IntentService
- about / Introducing Service and IntentService, Building responsive apps with Service
- used, for building responsive apps / Building responsive apps with IntentService
- results, handling / Handling results
- results, returning with PendingIntent / Returning results with PendingIntent
- results, posting as system notifications / Posting results as system notifications
- applications / Applications of IntentService
- HTTP uploads / HTTP uploads with IntentService
- progress, reporting / Reporting progress
- issues, AsyncTask
- about / Common AsyncTask issues
- fragmentation issues / Fragmentation issues
- activity lifecycle issues / Activity lifecycle issues
J
- Java Virtual Machine (JVM)
- about / Introducing the Dalvik Virtual Machine
L
- liveness issues, concurrent programs
- about / Liveness issues in concurrent programs
- Loaders
- about / Introducing Loaders
- benefits / Introducing Loaders
- connecting / Introducing Loaders
- AsyncTaskLoader / Building responsive apps with AsyncTaskLoader
- CursorLoader / Building responsive apps with CursorLoader
- combining / Combining Loaders
- applications / Applications of Loaders
- LocalBroadcastManager class
- about / Broadcasting results with Intents
- Looper
- about / Understanding Looper
- setting up / Understanding Looper
M
- MediaCursorAdapter / Building responsive apps with CursorLoader
- mutual exclusion
- about / Correctness issues in concurrent programs
O
- onCanceled method
- about / Building responsive apps with AsyncTaskLoader
- onCancelled callback method / Introducing AsyncTask
- onContentChanged method / Combining Loaders
- onCreateLoader method
- about / Introducing Loaders
- onHandleIntent method
- about / Controlling concurrency with Executors
- onLoaderFinished method
- about / Introducing Loaders
- onLoaderReset method
- about / Introducing Loaders
- onLoadFinished method / Combining Loaders
- onPreExecute method / Introducing AsyncTask
- onProgressUpdate callback method / Providing progress updates
- onStartCommand method
- about / Controlling concurrency with Executors
- onStartLoading method / Combining Loaders
- onStopLoading method
- about / Building responsive apps with AsyncTaskLoader
P
- PendingIntent
- about / Handling alarms
- static factory methods / Handling alarms
- PrimesIntentService
- about / Returning results with Messenger
R
- race condition
- about / Correctness issues in concurrent programs
- readLine method / Multithreaded example
- responsive apps
- building, with Handler / Building responsive apps with Handler
- builsing, with HandlerThread / Building responsive apps with HandlerThread
- building, AsyncTaskLoader used / Building responsive apps with AsyncTaskLoader
- building, CursorLoader used / Building responsive apps with CursorLoader
- building, with Service / Building responsive apps with Service
- run() method
- about / Concurrency in Android
S
- Service
- about / Introducing Service and IntentService
- used, for building responsive apps / Building responsive apps with Service
- Executor interface, controlling / Controlling concurrency with Executors
- results, returning with Messenger / Returning results with Messenger
- communicating with / Communicating with Services
- direct communication, with local Services / Direct communication with local Services
- results, broadcasting with Intents / Broadcasting results with Intents
- unhandled broadcasts, detecting / Detecting unhandled broadcasts
- applications / Applications of Services
- services
- alarms, handling / Handling alarms with Services
- SimpleCursorAdapter class / Building responsive apps with CursorLoader
- SimpleLooper class
- about / Understanding Looper
- start() method
- about / Concurrency in Android
T
- ThumbnailLoader
- enabling / Combining Loaders
W
- WakeLocks
- used, for staying awake / Staying awake with WakeLocks
- about / Staying awake with WakeLocks
- work, posting to Handler
- Runnable, executing / Scheduling work with post
- performing / Scheduling work with post
- pending Runnable, cancelling / Canceling a pending Runnable
- work, posting with send
- performing / Scheduling work with send
- pending Messages, cancelling / Canceling pending Messages
- composition, versus inheritance / Composition versus Inheritance
- multithreaded example / Multithreaded example
Z
- Zygote
- about / Memory sharing and the Zygote
- benefits / Memory sharing and the Zygote