Diving inside Android Wifi

  • Published on
    11-Feb-2017

  • View
    151

  • Download
    1

Embed Size (px)

Transcript

<p>Nanik Tolaram</p> <p>nanikjava@yahoo.com</p> <p>nanikjava</p> <p>DivingInside Wifi</p> <p>About</p> <p>Senior Platform Engineer @ Blocksglobal</p> <p>Commercial Product screener.digital &amp; lumenhealth.org</p> <p>Android Writer magazine.odroid.com</p> <p>Why should I care ?</p> <p>Battery life</p> <p>Bandwidth</p> <p>Responsive apps</p> <p>Happy User</p> <p>High Level View</p> <p>YoutubeGMailWhatsAppFacebookFrameworkWifi Android LayerLinux KernelWifi Hardware</p> <p>Inside Framework</p> <p>WifiService+WifiServiceImplWifiStateMachineWifiNative</p> <p>com_android_server_wifi_wifinative.cppwifi.c (HAL)wpa_supplicant daemonWifiTrafficPollerWifiWatchdogStateMachinewpa_supplicant client libraryLinux Kernel</p> <p>local socket interface</p> <p>Java Layer</p> <p>Native Layer</p> <p>Youtube</p> <p>Wifi Issues</p> <p>Unreliable</p> <p>Unpredictable</p> <p>High battery usage</p> <p>Async architecture </p> <p>Solution</p> <p>Use when needed</p> <p>Batched download</p> <p>Fixed size download</p> <p>Push notification download</p> <p>Android API</p> <p>JobScheduler + JobInfo </p> <p>ConnectivityManagerandroid.net.conn.CONNECTIVITY_CHANGE</p>

Recommended

View more >