Dagger 2 — fully static, compile-time dependency injection framework is a backbone of code architecture in Azimo Android app. We already know that with growing dev team clean code structure is one of the most important things in every project. Initialisation/usage separation, easier testing (unit or functional), better scalability —those are just a few of the benefits that come from use of dependency injection framework like Dagger 2.

AndroidDevMetrics is a performance metrics library which will help you find potential performance issues in your Android app. Thanks to it we are able to measure objects graph initialization in Dagger 2, Activities lifecycle methods timings and frame drops for each screen in app.

This post is a part of series of posts showing Dependency Injection with Dagger 2 framework in Android. Today we’re going to take a look at Dagger Producers — an extension to Dagger 2 that implements asynchronous dependency injection in Java.

We live in times where mobile apps have to not only do their job but also do it smooth and delightful. In times where almost every Android device has huge computing power and operating system is really mature (and I’m not saying only about Lollipop or Marshmallow). Less and less things limit us to to deliver really beautiful apps.

But it also means that there are no excuses for us — the developers. We cannot say anymore: “this is because your crappy Android device… Do you want smoothness? Let’s check it on iPhone.”. Now it’s our fault that app works and looks good only on this year’s high-end device. We cannot blame platform developers anymore because they already did awesome job with optimizations in Android.

#PerfMatters – recently very popular hashtag, especially in the Android world. The times when the apps just did something, no matter how, are already gone. Now everything should be pleasant, smooth and fast. For example Instagram spent almost half a year just to make its app faster, more beautiful, and more screen-size aware.