2017-08-24 4 views
0

Quelle est la différence entre l'utilisation de WallpaperManager.getInstance(context) et (WallpaperManager) context.getSystemService(Context.WALLPAPER_SERVICE)?Quelle est la différence entre WallpaperManager.getInstance() vs getSystemService (Context.WALLPAPER_SERVICE)

Si j'ouvre le code source pour la méthode getInstance(), il renvoie (WallpaperManager) context.getSystemService(Context.WALLPAPER_SERVICE), donc évidemment il n'y a pas de différence. Mais selon this answer, en utilisant getInstance() résolu le problème d'OP. En outre, docs suggère d'utiliser getSystemService().

Quelle approche est la meilleure et pourquoi?

Répondre

0

Comme je le vois, la différence principale est: en raison de getInstance() est static méthode, cette instance créée une seule fois, toutes les fois suivantes cet instanсe est utilisé. Ainsi, lorsque vous appelez static getInstance(), vous utilisez probablement une instance déjà créée.

+0

Une méthode statique ne signifie pas qu'elle renvoie la même instance de l'objet. – lagoman