在查看Android MMS和SMS的源代码是,发现有几处使用了singleton模式
1.在数据的helper类即MmsSmsDatabaseHelper.java使用了单例模式
该类的作用就是创建MMS和SMS数据库,表,索引,触发器等,主要是数据库连接的相关操作,
提供给provider包括smsprovider,mmsprovider使用
该类仅需要一个实例,故使用单例模式。
其实在需要需要数据库连接的地方都是使用单例模式
具体代码如下:
/**
* Return a singleton helper for the combined MMS and SMS
* database.
*/
/* package */ static synchronized MmsSmsDatabaseHelper getInstance(Context context) {
if (sInstance == null) {
sInstance = new MmsSmsDatabaseHelper(context);
}
return sInstance;
}
2.在SmsReceiver.java里面。
public static SmsReceiver getInstance() {
if (sInstance == null) {
sInstance = new SmsReceiver();
}
return sInstance;
}