Android 2.3中getSystemService()的性能优化技术
在我的应用程序中,我经常在许多课程中访问Android系统服务,因此我开始想知道访问Android系统服务的最佳方法是什么 我目前正在将返回的系统服务存储在一个单例对象中。这是优化系统服务访问的正确方法吗?如果在应用程序中经常引用系统服务,那么访问系统服务的最佳方法是什么 通过singleton访问AudioManager系统服务的示例类:Android 2.3中getSystemService()的性能优化技术,android,performance,optimization,android-service,android-2.3-gingerbread,Android,Performance,Optimization,Android Service,Android 2.3 Gingerbread,在我的应用程序中,我经常在许多课程中访问Android系统服务,因此我开始想知道访问Android系统服务的最佳方法是什么 我目前正在将返回的系统服务存储在一个单例对象中。这是优化系统服务访问的正确方法吗?如果在应用程序中经常引用系统服务,那么访问系统服务的最佳方法是什么 通过singleton访问AudioManager系统服务的示例类: public enum Audio { INSTANCE; private AudioManager mAudioManager;
public enum Audio
{
INSTANCE;
private AudioManager mAudioManager;
public void set(Context context)
{
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
}
public AudioManager getAudioManager()
{
return mAudioManager;
}
}
谢谢。你确定你真的需要优化getSystemService调用吗?这就是我问这个问题的原因,因为我不知道谷歌开发者在Android 2.3中做了什么来优化Android系统服务访问。最重要的是,如果我应该离开Singleton类,删除它,直接调用getSystemService或添加其他性能优化技术,只需调用getSystemService。如果一个方法中的几件事情需要相同的对象,请将其保存在变量中。如果您一直需要,可以是本地的,也可以是相关类的成员。如果你对该方法的实现感兴趣,你可以在这里查阅:你确定你真的需要优化getSystemService调用吗?这就是我问这个问题的原因,因为我不知道谷歌开发者在Android 2.3中做了什么来优化安卓系统服务访问。最重要的是,如果我应该离开Singleton类,删除它,直接调用getSystemService或添加其他性能优化技术,只需调用getSystemService。如果一个方法中的几件事情需要相同的对象,请将其保存在变量中。如果您一直需要,可以是本地的,也可以是相关类的成员。如果您对该方法的实现感兴趣,可以在此处查找: