DROIDCON Italy

The conference about our little green robots was held in Torino Italy in April 2016.

With 800 attendees and four different tracks, one was spoilt for choices. There were 57 speakers, including 3 Developer Advocate at Google and 13 Google Developer Experts from London, Dutch, Denver, Germany, Paris, and working at Intel, Facebook, Trello, Amazon, Spotify, JetBrains, Houston, Bologna etc sharing their experiences.

My colleague and I presented a topic on Securely developing Android applications. It was my first talk at an international platform. We had a great audience; people were engaged and were really excited to chat afterwards. Yay!

Below is a summary of some sessions:

Facebook Infer - Martino Luco (Facebook)

Main Takeaway: What is the difference between Lint and Infer?

Infer finds deeper infer-procedural bugs sometimes spanning multiple files. Linters, in contrast, typically implement simple syntactic checks that are local within one procedure. But they are valuable and Infer doesn't try to duplicate what they are good at. At Facebook, they run both Infer and a collection of Android linters to analyze the main Facebook apps for Android and iOS, Facebook Messenger and Instagram, among others. Infer reports bugs which are responsible for app crashes and performance issues, such as accessing null pointers, and leaking resources such as Context instances.

Fresco: Massimo Carli (Facebook)

Another library that takes care of image loading and display so you don’t have to. Fresco’s image pipeline will load images from the network, local storage, or local resources. To save data and CPU, it has three levels of cache; two in memory and another in internal storage. Fresco’s Drawees show a placeholder for you until the image has loaded and automatically show to the image when it arrives. When the image goes off-screen, it automatically releases its memory.

Now the puzzle in my mind is the comparison between Picasso, Glide and Fresco.

They claim that they following are the advantages: Images aren't stored in the Java heap, but in the ashmem heap. Intermediate byte buffers are also stored in the native heap. This leaves a lot more memory available for applications to use. It reduces the risk of OutOfMemoryErrors. It also reduces the amount of garbage collection apps have to do, leading to better performance.

Progressive JPEG images can be streamed, just like in a web browser. Images can be cropped around any point, not just the centre. JPEG images can be resized natively.

Anyone who has used Fresco, it would be great to hear about your experiences. I have used Picasso and it worked like a charm.

To ∞ (~65K) and beyond!- Sebastiano Gottardo(Google Developer Expert - Android Engineer at musixmatch)

I have seen a lot of pain of dexing in my current project and wanted to understand a bit more in depth about multi-dexing. This talk explored multiple ways to deal with the situation, and several awesome tools to help you understand and manage your application method count.

https://speakerdeck.com/dextor/to-65k-and-beyond

Engage and retain users in the android world - Matteo Bonifazi (Google Developer Expert for Android)

In this talk, a few examples from Android M were presented like App Invite, App Indexing which can be better utilised with Now on Tap:

http://www.slideshare.net/MatteoBonifazi/engage-and-retain-users-in-the-android-world-droidcon-italy-2016

Reverse engineering is not just for hackers! Jon Reeve-(Wasabi Code Ltd)

He talked about tools like apktool, androguard, ClassyShark (this is second time I heard about this in droidcon, time to read about it), CodeInspect, IDA Pro, JEB/JEB2, radare2 and some more(mentioned in the slides)

He talked about pinpointing bugs that come from closed-source libraries such as those for ad and tracking networks, and working around those bugs, getting them fixed faster, or even patching them if need be!

https://speakerdeck.com/jonreeve/reverse-engineering-is-not-just-for-hackers

A realtime infrastructure - Firebase - Alessandro Martellucci(Open reply)

Firebase - even got mentioned in Google IO 2016.

http://www.slideshare.net/AlessandroMartellucc/a-realtime-infrastructure-for-android-apps-firebase-may-be-what-you-needand-even-more

#PERFMATTERS for Android- Hasan Hosgel(Google Developer Expert for Android – Co-Lead GDG Berlin Android)

He talked about some basics, which we tend to ignore (mentioned in the slides) Optimising ArrayList Optimising Bundle Optimising StringBuilder Optimising Loops Optimising Method Invocations Optimising Access Methods

https://speakerdeck.com/alosdev/perfmatters-for-android-droidcon-turin-2016

Internal Library Dependency Management- Kelly Shuster(Google Developer Expert – Android Developer @ Thoughtbot)

She talked about setup and maintenance of internal library dependencies using Git submodules and creating a private maven repository in Artifactory.

http://www.slideshare.net/KellyShuster/internal-android-library-management-droidcon-sf-2016

I saw a lot of well-known speakers and developers. It was a conference rich of interesting talks in addition to those summarised in this post, ranging between various topics such as TDD, UX, Security and many more.

There are some talks I could not attend but found them interesting. I would urge you all to go through them: Confession of a Digital Finger Painter Loving Lean Layouts Let’s Sprinkle some #PerfMatters on your ViewGroups

You can find the videos of some talks here.

Thank you so much Droidcon Italy for having me as a speaker! I highly recommend signing up as a speaker(next is on 7th-8th April 2017) and sharing your experience.

Last updated