network • Always make sure you properly close all your connections! • Try to perform all network operations in a tight sequence and together with other apps (see AlarmManager)
• Intent.ACTION_USER_PRESENT - User unlocked device • AlarmManager.setExact() - Trigger at exact time • WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION - Connected to a WiFi (with specifics about SSID)
• Loading images is tricky - use a library! • Picasso - http://square.github.io/picasso/ • Cancel requests properly (ListView etc.) • Close sockets and connection properly! • Batch network data if possible! • Using paging and caching when possible! • Listen for network and configuration changes!
Consider a different data format! • Pick a better protocol stack! • Server push, polling at interval or system event? • Design your app correctly - don’t re-invent the wheel!