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.

A840d50ff8fdfeefe6d6bd98b4f18873?s=128

Arun Babu A S P

October 13, 2018
Tweet

More Decks by Arun Babu A S P

Other Decks in Technology

Transcript

  1. Effective Procrastination Arun Babu A S P Senior Android Engineer

  2. The action of delaying or postponing something - From Google

  3. Google Messaging Apps Effective Procrastination President Trump Work-Life balance Secured

    Aadhar What is this about?
  4. What is it? Google Messaging Apps Effective Procrastination President Trump

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

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

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

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

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

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

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

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

    President Trump Work-Life balance #Oxymoron #MythicalStatement #VeryVeryDifficult #OneAppPerIntern
  13. Android Vitals App Startup Time Excessive Actions Permission Denials Stability

    & Performance
  14. Android Vitals App Startup Time Excessive Actions Permission Denials Stability

    & Performance
  15. App Startup Time Root causes - Multiple SDK inits -

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

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

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

    class Keep weak reference to contextual fields Assign custom executor for running tasks
  19. Android Vitals App Startup Time Excessive Actions Permission Denials Stability

    & Performance
  20. Excessive Actions Types - Wakeups - WiFi Scanning - Network

    Calls
  21. Excessive Actions Types - Wakeups - WiFi Scanning - Network

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

    Calls Root causes - Missed wakelock releases - Alarm Manager - Background Syncs Solution
  23. Services Intent Service Bind Service Foreground Service

  24. 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
  25. Android Vitals App Startup Time Excessive Actions Permission Denials Stability

    & Performance
  26. Permission Denials Root cause - Too early in the app

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

    lifecycle - Too many permissions - Irrelevant permissions Solution
  28. Permissions Really needed? Privacy concerns Cult following

  29. Runtime Permissions Delay as much as possible Ask only if

    necessary Ask only relevant permissions
  30. Android Vitals App Startup Time Excessive Actions Permission Denials Stability

    & Performance
  31. Stability & Performance Root cause - Blocking UI thread -

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

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

    similar Good internship projects
  34. Job Scheduler Avoid running complex operations Set constraints appropriately Check

    for errors regularly
  35. None
  36. #CantTalkAboutIt

  37. #METOO

  38. Thanks! Arun Babu A S P Senior Android Engineer Twitter:

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