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

Improving Productivity while developing in Android

Improving Productivity while developing in Android

It is important to leverage some available tools and resources in order to improve efficiency and productivity while developing an Android project.
These slides were presented in Medellin Android Meetup on November 2 of 2016 in Medellin, Colombia.

Carlos Daniel

November 02, 2016
Tweet

More Decks by Carlos Daniel

Other Decks in Programming

Transcript

  1. Improving productivity while developing in Android Carlos Daniel Munoz I.

    - Android Dev at Huge @MedellinAndroid November 2, 2016
  2. 1. Developing in Android 2. About the method count 3.

    Inspections to analyze traces 4. Optimizations 5. Assets 6. Builds 7. Keymaps 8. Libs & plugins Agenda
  3. The only way to fast is to go well (

    The higher the quality, the faster you go )
  4. 5 Developing in Android • It is like waves •

    How many projects • Continuously learning • A few things I have learned • Working with team members: Code Reviews! Android Labs! • Having proper toolset Resources: • Android Developers Official • Stack Overflow • Medium
  5. 8 Assets • Android Asset Studio → Action Bar →

    App icon → SVG → Nine patch • Material Design Icons • Material Palette → XML → Png
  6. 9 Builds • Buck → High performance build tool •

    Gradle please • Proguard → Optimizing bytecode
  7. 11 Some optimizations • Merged Manifiest Viewer ◦ This tool

    will show how our AndroidManifest merges with our project dependencies based on build types, flavors, and variants.
  8. 12 Some optimizations • Instant Run ◦ Run/debug ◦ Rerun

    ◦ Run > Clean and Rerun • JRebel • Build gradle is too slow? → ./gradlew --stop • Measure Execution Time
  9. 16 Other good practices • Crashlytics → Crash reporting solution

    ◦ Spend less time finding crashes ◦ When app is getting bigger ◦ Dependency in build + API Key + Call in Application/Base Activity class + watch the report → Done! • Keep testing on various OS versions ◦ Min SDK? ◦ Max SDK? ◦ Backgrounds, shadows, SVGs ▪ IN Android Kitkat 4.4.4 no SVGs but a picture • Formatting code for a better reading - Android Square (Code Style) • Lint tool Genymotion :)
  10. 17 Keymaps / Shortcuts • Cmd + Shift A (Mega

    power!) • Commit** • Alt+Enter • Command+Shift+k • Ctrl+Enter (Generate) • Alt+Enter (Suggestions) ** We can map keys combination to a behavior
  11. 18 Some Dev libraries & plugins • Picasso or Glide

    • RxJava for Async Tasks or Keep each async task as a separate class :( • Use ConstraintsLayout to flatten your view hierarchy.* • Use plugins like Parcelable: ◦ Android Studio -> Preferences -> Plugins -> "Parcelable" (Repositori - Install * Currently in beta 2 version