Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Effective Procrastination

Effective Procrastination

Procrastination is the action of delaying or postposing something. It is generally not a positive thing. But in software development, when code is written to enforce this behaviour intelligently, user experience can be greatly improved. This talk reviews few such instance.

Arun Babu A S P

October 13, 2018
Tweet

More Decks by Arun Babu A S P

Other Decks in Technology

Transcript

  1. What is it? Google Messaging Apps Effective Procrastination President Trump

    Work-Life balance Secured Aadhar #Oxymoron #NotMyPresident #CantTalkAboutIt
  2. What is it? Effective Procrastination President Trump Work-Life balance Secured

    Aadhar Google Messaging Apps #MythicalStatement #StartupsDontHaveIt #CantTalkAboutIt
  3. What is it? President Trump Work-Life balance Secured Aadhar Google

    Messaging Apps Effective Procrastination #VeryVeryDifficult #WallMightNotHelpIt #CantTalkAboutIt
  4. What is it? Work-Life balance Secured Aadhar Google Messaging Apps

    Effective Procrastination President Trump
  5. What is it? Work-Life balance Secured Aadhar Google Messaging Apps

    Effective Procrastination President Trump #OneAppPerIntern #ThisIsAGoogleDevFest #CantTalkAboutIt
  6. What is it? Secured Aadhar Google Messaging Apps Effective Procrastination

    President Trump Work-Life balance #Oxymoron #MythicalStatement #VeryVeryDifficult #OneAppPerIntern
  7. App Startup Time Root causes - Multiple SDK inits -

    Multiple dex loading - Heavy layouts
  8. App Startup Time Root causes - Multiple SDK inits -

    Multiple dex loading - Heavy layouts Solution
  9. AsyncTask Not very intelligent Has lot of drawbacks Can cause

    stability issues Many people still prefer it
  10. Async Task Keep the class static while being an inner

    class Keep weak reference to contextual fields Assign custom executor for running tasks
  11. Excessive Actions Types - Wakeups - WiFi Scanning - Network

    Calls Root causes - Missed wakelock releases - Alarm Manager - Background Syncs
  12. Excessive Actions Types - Wakeups - WiFi Scanning - Network

    Calls Root causes - Missed wakelock releases - Alarm Manager - Background Syncs Solution
  13. Services Choose Foreground Services for must and important tasks Choose

    IntentService when you want to process serially Choose Download Manager when you want to fetch binaries
  14. Permission Denials Root cause - Too early in the app

    lifecycle - Too many permissions - Irrelevant permissions
  15. Permission Denials Root cause - Too early in the app

    lifecycle - Too many permissions - Irrelevant permissions Solution
  16. Runtime Permissions Delay as much as possible Ask only if

    necessary Ask only relevant permissions
  17. Stability & Performance Root cause - Blocking UI thread -

    Heavy CPU consumption - Parallel processing
  18. Stability & Performance Root cause - Blocking UI thread -

    Heavy CPU consumption - Parallel processing Solution
  19. Job Scheduler Many of them are there All are very

    similar Good internship projects
  20. Thanks! Arun Babu A S P Senior Android Engineer Twitter:

    @arunbabuasp LinkedIn: https://www.linkedin.com/in/arunasp/