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

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

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

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