SlideShare una empresa de Scribd logo
1 de 109
Descargar para leer sin conexión
Mastering Android Tasks
Why I am on stage?
Ran is Android GDE.
Ran knows how to use Impress
Ran spent lot of time on Android tasks.
Ran can break-dance.
Activities
Single UI screen.
Stacked like a deck of cards.
Only one is visible.
Only one is active.
New Activities are places on
top.
Activities
Application may have more than one Activity
Task
Collection of activities.
Organized in stack (i.e. “back stack”)
Task have at least one activity.
New activities placed on top
LIFO Queue
Each task has a “name” called Affinity.
Activity C
Activity B
Activity A
Tasks
Each app has at least one task
May have more

Tasks can be moved to “background”
Keeping their back stack.

User navigate between tasks
Easy switching between apps.
Multitasking experience.
User's Action
Home

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress
Home

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress
Home
G+

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress
Home
G+
Enters Post

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress
Home
G+
Enters Post
Home

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress
Home
G+
Enters Post
Home
Flipboard

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress
Home
G+
Enters Post
Home
Flipboard
Home

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress
Home
G+
Enters Post
Home
Flipboard
Home
Recent Apps

(Foreground Task)

(Backgorund Tasks)
User's Action
Home
Ingress
Home
G+
Enters Post
Home
Flipboard
Home
Recent Apps
G+

(Foreground Task)

(Backgorund Tasks)
Why Manipulate?
Why Manipulate default behavior?
Multiple entry points to the app
Launcher
Notification
Share Intent

“Singleton” Activity
Activity that wants to share data between instances.
(example: browser)
Changing default behavior
<activity> tag attributes in AndroidManifest.xml
Launchmode
TaskAffinity
...

Adding flags to Intent used to launch the activity
FLAG_ACTIVITY_NEW_TASK
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_SINGLE_TOP

Warning – only sounds easy.
Android:taskAffinity
Used to determine the task that should hold the
activity
Task that has the same affinity value

By Default: all activities share the same affinity
(package name)
Task's affinity is the affinity of the activity that created
it (also called root activity)
Example
Manifest:

Activity A is launched
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A's code:
Intent I = new Intent (this,ActvitiyB.class)
startActvitiy(i)

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A's code:
Intent I = new Intent (this,ActvitiyB.class)
startActvitiy(i)

Activity B
Activity A
Com.myApp
What?
Why like this?
Activity B added to the same task although it had
different affinity
In order to create a new task – you need to add
FLAG_ACTIVITY_NEW_TASK to the launching
intent
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A's code:
Intent I = new Intent (this,ActvitiyB.class)
I.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActvitiy(i)

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A's code:
Intent I = new Intent (this,ActvitiyB.class)
I.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActvitiy(i)

Activity A
Com.myApp

Activity B
Com.something
Android:launchMode
Specifies how the Activity should be launched
Four different modes:
Standard (default)
Single Top
Single Task
Single Instance
Launch Mode: Standard
New instance is created in the calling activity's task
Activity can have multiple instances
Instances can reside in different tasks
One task can have multiple instances
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B (no flags)

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B (no flags)

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B (no flags)
Activity B launches Activity A

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B (no flags)
Activity B launches Activity A

Activity A
Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B (no flags)
Activity B launches Activity A
Activity A launches Activity B (with flag NEW_TASK)
Activity A
Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B (no flags)
Activity B launches Activity A
Activity A launches Activity B (with flag NEW_TASK)
Activity A
Activity B
Activity A
Com.myApp

Activity B
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B (no flags)
Activity B launches Activity A
Activity A launches Activity B (with flag NEW_TASK)
Activity B launches Activity A
Activity A
Activity B
Activity A
Com.myApp

Activity B
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B (no flags)
Activity B launches Activity A
Activity A launches Activity B (with flag NEW_TASK)
Activity B launches Activity A
Activity A
Activity B

Activity A

Activity A

Activity B

Com.myApp

Com.something
Launch Mode: Single Top
If an instance of the activity is at the top of the stack –
new activity will not be create, instead –
onNewIntent() will be called.
Activity can have multiple instances
Instances can reside in different tasks
One task can have multiple instances
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
User pulls the notification bar and clicks on notification
that fires Activity intent to Activity A

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
User pulls the notification bar and clicks on notification
that fires Activity intent to Activity A

OnNewIntent(..)

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
User pulls the notification bar and clicks on notification
that fires Activity intent to Activity A
Activity A launches Activity B (no flags)

OnNewIntent(..)

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
User pulls the notification bar and clicks on notification
that fires Activity intent to Activity A
Activity A launches Activity B (no flags)

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
User pulls the notification bar and clicks on notification
that fires Activity intent to Activity A
Activity A launches Activity B (no flags)
Activity B launches Activity A

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
User pulls the notification bar and clicks on notification
that fires Activity intent to Activity A
Activity A launches Activity B (no flags)
Activity B launches Activity A
Activity A
Activity B
Activity A
Com.myApp
Launch Mode: Single Task
New task is created for the Activity and the Activity is
its root Activity
If an instance of the Activity already exists – system
will reroute the intent to onNewIntent() callback and
won't create new instance.
Activity can have only one instance
Activity is always the root of the task
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Acitivity A launches Activity B

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Acitivity A launches Activity B

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Acitivity A launches Activity B
Activity B launches Activity C with FLAG_NEW_TASK

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Acitivity A launches Activity B
Activity B launches Activity C with FLAG_NEW_TASK

Activity B
Activity A
Com.myApp

Activity C
Com.something
Example
Manifest:

Activity A is launched
Acitivity A launches Activity B
Activity B launches Activity C with FLAG_NEW_TASK
Activity C launches Activity A

Activity B
Activity A
Com.myApp

Activity C
Com.something
Example
Manifest:

Activity A is launched
Acitivity A launches Activity B
Activity B launches Activity C with FLAG_NEW_TASK
Activity C launches Activity A

OnNewIntent(..)

Activity A
Com.myApp

Activity C
Com.something
Launch Mode: Single Instance
Same as Single Task except that it is the only activity
in its task
New activities will be launched in different tasks.

Activity can have only one instance
Activity is always the root of the task
Activity is the only member of its task
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B

Activity A
Com.myApp

Activity B
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C

Activity A
Com.myApp

Activity B
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C

Activity C
Activity A
Com.myApp

Activity B
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C
Activity C launches Activity A

Activity C
Activity A
Com.myApp

Activity B
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C
Activity C launches Activity A

Activity C
OnNewIntent(..)

Activity A
Com.myApp

Activity B
Com.myApp
FLAG_ACTIVITY_NEW_TASK
Start the activity in a new task. If a task is already
running for the activity you are now starting, that task
is brought to the foreground with its last state restored
and the activity receives the new intent in
onNewIntent().
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B
Activity A
Com.myApp

Activity C
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D

Activity B
Activity A
Com.myApp

Activity C
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D

Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D
User switches to com.myApp
Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D
User switches to com.myApp
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D

onResume()

User switches to com.myApp
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
Easy – but may be tricky
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B
Activity A
Com.myApp

Activity C
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D

Activity B
Activity A
Com.myApp

Activity C
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D

Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D
User switches to com.myApp
Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D
User switches to com.myApp
Activity B launches Activity D with
FLAG_NEW_TASK

Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D
User switches to com.myApp
Activity B launches Activity D with
FLAG_NEW_TASK

Activity D
Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D
User switches to com.myApp
Activity B launches Activity D with
FLAG_NEW_TASK

Activity D
Activity B

Activity D

Activity A

Activity C

Com.myApp

Com.something
New instance of D created!
Why another Instance was created?
A matching task is a task that has the same launching
intent as the intent used to launch the activity.
Although Activity D has the same affinity as the task
that was created by Activity C, the launching intent is
different.
The result: instead of onResume() - > new Instance.
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B
Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B
Activity A
Com.myApp

Activity C
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D and calls finish()

Activity B
Activity A
Com.myApp

Activity C
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D and calls finish()

Activity B
Activity A
Com.myApp

Activity C
D
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D and calls finish()
User switches to com.myApp
Activity B
Activity A
Com.myApp

Activity C
D
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D and calls finish()
User switches to com.myApp
Activity B launches Activity C with
FLAG_NEW_TASK

Activity B
Activity A
Com.myApp

Activity C
D
Com.something
Example
Manifest:

Activity A is launched
Activity A launches Activity B
Activity B launches Activity C with
FLAG_NEW_TASK
Activity C launches Activity D and calls finish()
User switches to com.myApp
Activity B launches Activity C with
FLAG_NEW_TASK

onResume()
Activity B
Activity A
Com.myApp

Activity C
D
Com.something
Asked for Activity C - > Got activiy D.
It is not over yet...
Example
Manifest:

Activity A is launched

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B with
startActivityForResult()

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B with
startActivityForResult()

OnActivityResult(...)

Activity A
Com.myApp
Example
Manifest:

Activity A is launched
Activity A launches Activity B with
startActivityForResult()

Activity A
Com.myApp

Activity B
Com.myApp
StartActivityForResult
If an activity calls startActivityForResult and new task
is created – onActivityResult is called immediately.
“its not bug – its a feature” approach.
Tips
Abd shell dumpsys activity
Don't wait for the end of the development to apply
flags, affinities and launch modes.
It is iterative on-going process.
Questions?

ran@mobiliup.com
+Ran Nachmany

Más contenido relacionado

La actualidad más candente

Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentation
guest11106b
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
pm2214
 

La actualidad más candente (20)

Broadcast Receiver
Broadcast ReceiverBroadcast Receiver
Broadcast Receiver
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Android : Architecture & Components
Android : Architecture & ComponentsAndroid : Architecture & Components
Android : Architecture & Components
 
Introduction to Android development - Presentation
Introduction to Android development - PresentationIntroduction to Android development - Presentation
Introduction to Android development - Presentation
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycle
 
Activity lifecycle
Activity lifecycleActivity lifecycle
Activity lifecycle
 
Android resources
Android resourcesAndroid resources
Android resources
 
Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I Introduction to Koltin for Android Part I
Introduction to Koltin for Android Part I
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Event handling
Event handlingEvent handling
Event handling
 
Android Fragment
Android FragmentAndroid Fragment
Android Fragment
 
[Android] Widget Event Handling
[Android] Widget Event Handling[Android] Widget Event Handling
[Android] Widget Event Handling
 
Gradle Introduction
Gradle IntroductionGradle Introduction
Gradle Introduction
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentation
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Android lifecycle
Android lifecycleAndroid lifecycle
Android lifecycle
 
Activities, Fragments, and Events
Activities, Fragments, and EventsActivities, Fragments, and Events
Activities, Fragments, and Events
 
Job schedulers android
Job schedulers androidJob schedulers android
Job schedulers android
 
Android terminologies
Android terminologiesAndroid terminologies
Android terminologies
 

Similar a Manipulating Android tasks and back stack

Android application model
Android application modelAndroid application model
Android application model
magicshui
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
Ahsanul Karim
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
Ahsanul Karim
 
Unit 5 Activity and Activity Life Cycle.pptx
Unit 5 Activity and Activity Life Cycle.pptxUnit 5 Activity and Activity Life Cycle.pptx
Unit 5 Activity and Activity Life Cycle.pptx
ShantanuDharekar
 
Multiple Activity and Navigation Primer
Multiple Activity and Navigation PrimerMultiple Activity and Navigation Primer
Multiple Activity and Navigation Primer
Ahsanul Karim
 
android_mod_3.useful for bca students for their last sem
android_mod_3.useful for bca students for their last semandroid_mod_3.useful for bca students for their last sem
android_mod_3.useful for bca students for their last sem
aswinbiju1652
 

Similar a Manipulating Android tasks and back stack (20)

Android App Development 20150507
Android App Development 20150507Android App Development 20150507
Android App Development 20150507
 
Android App Development 20150430
Android App Development 20150430Android App Development 20150430
Android App Development 20150430
 
Activity
ActivityActivity
Activity
 
Activity
ActivityActivity
Activity
 
Activity
ActivityActivity
Activity
 
Activity
ActivityActivity
Activity
 
Android application model
Android application modelAndroid application model
Android application model
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
 
Using android's action bar
Using android's action barUsing android's action bar
Using android's action bar
 
Unit 5 Activity and Activity Life Cycle.pptx
Unit 5 Activity and Activity Life Cycle.pptxUnit 5 Activity and Activity Life Cycle.pptx
Unit 5 Activity and Activity Life Cycle.pptx
 
Create an other activity lesson 3
Create an other activity lesson 3Create an other activity lesson 3
Create an other activity lesson 3
 
Multiple Activity and Navigation Primer
Multiple Activity and Navigation PrimerMultiple Activity and Navigation Primer
Multiple Activity and Navigation Primer
 
Create New Android Activity
Create New Android ActivityCreate New Android Activity
Create New Android Activity
 
android_mod_3.useful for bca students for their last sem
android_mod_3.useful for bca students for their last semandroid_mod_3.useful for bca students for their last sem
android_mod_3.useful for bca students for their last sem
 
Chapter 2 lesson-1 adding the action bar
Chapter 2 lesson-1 adding the action barChapter 2 lesson-1 adding the action bar
Chapter 2 lesson-1 adding the action bar
 
Android app fundamentals
Android app fundamentalsAndroid app fundamentals
Android app fundamentals
 
Advance Java Programming(CM5I) Event handling
Advance Java Programming(CM5I) Event handlingAdvance Java Programming(CM5I) Event handling
Advance Java Programming(CM5I) Event handling
 
Hello android example.
Hello android example.Hello android example.
Hello android example.
 
iOS Development (Part 2)
iOS Development (Part 2)iOS Development (Part 2)
iOS Development (Part 2)
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

Manipulating Android tasks and back stack