You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2012-05-23-roboguice-2.markdown
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ public class BookingModule extends AbstractModule {
37
37
{% endhighlight %}
38
38
39
39
Pour faire court, on dit à RoboGuice quels sont nos "beans" à instancier et comment les instancier.
40
-
Pour qu'Android connaisse nos modules, il faut lui indiquer où les chercher via un seul fichier de configuration XML roboguice.xml situé dans res/values :
40
+
Pour qu'Android connaisse nos modules, il faut lui indiquer où les chercher via un seul fichier de configuration XML **roboguice.xml** situé dans res/values :
41
41
42
42
{% highlight xml %}
43
43
<resources>
@@ -111,7 +111,7 @@ BookingServiceImpl est l'implémentation de BookingService qui est déclaré dan
111
111
112
112
#### L'injection dans les Activity, Service, AsyncTask et autres classes d'Android
113
113
114
-
RoboGuice est une version de Google Guice pour Android, il a donc quelques spécificités. Il surcharge donc certaines classes de base du framework de développement natif indispensables à lcréation d'une application. Pour en citer quelques unes (voir la [liste complète](http://code.google.com/p/roboguice/wiki/InheritingFromRoboGuice)) :
114
+
RoboGuice est une version de Google Guice pour Android, il a donc quelques spécificités. Il surcharge donc certaines classes de base du framework de développement natif indispensables à la création d'une application. Pour en citer quelques unes (voir la [liste complète](http://code.google.com/p/roboguice/wiki/InheritingFromRoboGuice)) :
115
115
116
116
- RoboActivity
117
117
- RoboService
@@ -208,7 +208,7 @@ L'utilisation d'un tel framework sur un mobile nous pousse bien évidemment à n
208
208
-**oui** car le temps de démarrage de mon application en a pris un coup (nous allons voir les chiffres juste après)
209
209
-**non** car après le démarrage, je n'ai pas vu ni mesuré de latences dans l'utilisation de l'application
210
210
211
-
En chiffres donc, j'ai utilisé traceview pour mesurer le temps de démarrage de l'application sur mon Nexus S. J'ai utilisé 2 versions de l'application, une avec RoboGuice et l'autre sans :
211
+
En chiffres donc, j'ai utilisé [traceview](http://developer.android.com/guide/developing/debugging/debugging-tracing.html) pour mesurer le temps de démarrage de l'application sur mon Nexus S. J'ai utilisé 2 versions de l'application, une avec RoboGuice et l'autre sans :
212
212
213
213
- avec : environ 2,2 secondes (dont 1,4s alloué à la création de l'injecteur)
214
214
- sans : environ 0,2 seconde
@@ -219,4 +219,5 @@ On voit donc qu'au démarrage de l'application, l'instanciation du framework pre
219
219
## Conclusion
220
220
221
221
RoboGuice est un très bon framework, qui nous facilite l'écriture de nos applications. Il apporte l'injection de dépendances à laquelle nous sommes tant habitués en tant qu'utilisateur de Spring. [Spring for Android](http://www.springsource.org/spring-android) n'apportant pas cette fonctionnalité, RoboGuice est la meilleure alternative sur Android.
222
+
222
223
Pourtant l'impact de RoboGuice sur le temps de démarrage de l'application me fait émettre quelques réserves. Tout dépendera de l'utilisation cible de votre application. Si elle doit être utilisée souvent mais pour une durée brève (prendre des notes par exemple), je ne recommande pas RoboGuice. Pour des applications plus complexes et qui nécessitent une utilisation plus longue, quelques secondes de démarrage bien gérées (tout est une histoire de ressenti, n'est-ce pas Apple ?) ne devraient pas poser de problème.
0 commit comments