Top Banner
Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation
42

Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

May 29, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Lifecycle Management AndroidMobile and Ubiquitous Games ICS 163 Donald J. Patterson

Android documentation

Page 2: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Callback

http://en.wikipedia.org/wiki/Observer_pattern

Page 3: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

• Unlike traditional Java, Android does not use a “main” function

• It uses a sophisticated set of callbacks

• Each step of the callback corresponds to a step in the lifecycle

of the app

• This is so that the phone can shut your app down when

important things happen, like a phone calls arriving or when a

user switches apps

• An implementation of the Activity class contains the callbacks

Page 4: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Callback

http://en.wikipedia.org/wiki/Observer_patternhttp://en.wikipedia.org/wiki/Observer_pattern

Activity Class

Page 5: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Callback

http://en.wikipedia.org/wiki/Observer_patternhttp://en.wikipedia.org/wiki/Observer_pattern

Your Activity

Page 6: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Callback

http://en.wikipedia.org/wiki/Observer_patternhttp://en.wikipedia.org/wiki/Observer_pattern

Android OS

Page 7: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Lifecycle Management

Page 8: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

• Key loops

• Entire Lifetime

• onCreate()- onDestroy()

“+notify()”

Page 9: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

• Key loops

• Visible Lifetime

• onStart() - onStop()

Page 10: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

• Key loops

• Foreground Lifetime

• onResume() - onPause()

Page 11: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

• onPause() may be followed by kill

Page 12: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

• Does not crash if the user receives a phone call or switches to another app while

using your app.

• Does not consume valuable system resources when the user is not actively using it.

• Does not lose the user's progress if they leave your app and return to it at a later time.

• Does not crash or lose the user's progress when the screen rotates between

landscape and portrait orientation.

Why do you care? So that your app …

Page 13: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Stack

Page 14: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 15: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 16: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 17: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 18: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 19: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 20: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 21: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 22: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 23: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 24: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 25: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 26: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 27: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 28: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 29: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 30: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 31: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 32: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 33: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 34: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 35: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 36: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 37: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 38: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 39: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

Activity Lifecycle

Page 40: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

The Manifest

Page 41: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation

The Manifest

http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 42: Lifecycle Managementdjp3/classes/2015_03_ICS163/Lectures/Lec… · Lifecycle Management Android Mobile and Ubiquitous Games ICS 163 Donald J. Patterson Android documentation