2015-10-01 22 views
10

Google ci consente di fornire le funzionalità più recenti su API meno recenti utilizzando la libreria standard di Android. Google incoraggia l'uso di questo set di strumenti, senza menzionare i suoi lati negativi.Esiste uno svantaggio nell'utilizzo della libreria di supporto Android?

Esistono RAM o CPU più elevati, rendering più lento o simile? Perché non tutte le nuove funzionalità sono aggiunte come parte della libreria, invece di mantenere 2 versioni separate? Quasi tutti gli esempi e il codice del mondo reale che ho visto hanno dovuto usare questa libreria per supportare ActionBar e altre cose, quindi possiamo supporre che il 90% delle applicazioni dipenda da esso. Perché non solo forzarlo?

+1

L'unica ragione per cui si utilizzano le librerie di supporto è perché si desidera abilitare le funzionalità nel livello inferiore della API che non era disponibile per quel momento. – Elltz

+1

lo so e non risponde alla mia domanda ... –

+0

beh era un commento .. – Elltz

risposta

3

Non sono noti ostacoli all'uso della libreria di supporto. Inoltre, come hai giustamente osservato, Google incoraggia a usarlo come best practice: "L'inclusione delle librerie di supporto nel tuo progetto Android è considerata una best practice per gli sviluppatori di applicazioni, a seconda della gamma di versioni della piattaforma che l'app ha come target e delle API che usa." (http://developer.android.com/tools/support-library/index.html)

Come uno svantaggi possiamo citare solo alcune cose secondarie:

  • crescente di dimensioni apk e il numero totale di metodi in progetto (assolutamente insignificante se comparato con altri costi funzionali)

  • alcune specifiche limitazioni di utilizzo (di solito sono menzionate nei documenti Java corrispondenti e di solito non svolgono alcun ruolo se utilizziamo nell'app solo l'implementazione del supporto senza mischiarle con elementi "nativi" da sdk). Come esempio vedere la classe FragmentActivity, sezione "Limitazioni conosciute".

Per quanto riguarda la seconda domanda - una grande quantità di nuove funzioni sono incluse solo nella libreria di supporto evitando la duplicazione nel nucleo SDK (android.support.v4.view.ViewPager e android.support.v4.view.PagerAdapter come esempio). Le funzionalità di duplicazione (come Frammento) vengono mantenute per mantenere la compatibilità per le app che sono state progettate utilizzando l'implementazione nativa.

+0

Per quanto riguarda le dimensioni aumentate ... un paio di domande di follow-up. Sai quanto è grande la tua app? La mia app adesso ha solo circa 70 KB. Quanto sarebbe più grande con la SL? L'intera SL viene compilata nell'app o solo nelle classi e nelle risorse utilizzate/necessarie? – eidylon