我目前有一个应用程序,我广泛使用单例模式。 即我有类似这样的东西。 FeedHandler处理与提要相关的内容,例如从REST服务获取提要(帖子),获取与帖子e.t.c相关的评论。
public class FeedHandler{
public FeedHandler feedHandler=null;
public FeedHandler get(){
if(feedHandler==null){
feedHandler=new FeedHandler();
}
return feedHandler;
}
然后我在这里使用volley进行网络调用,并将结果与EventBus一起发布给订阅者。
public void getSingleFeedFromNetwork(final boolean force, final String feedId){
VolleyHandler.get().makeJsonObjectRequest("feeds/single?id=" + feedId, Request.Method.GET, null, force, new com.android.volley.Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Feed feed=GsonUtils.getGson().fromJson(response.toString(),Feed.class);
EventHandler.postEventOnMainThread(feed);
CommentHandler.get().getCommentsForPost(feed.getId(),true);
}
}, new com.android.volley.Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
EventHandler.postEventOnMainThread(new Feed());
}
});
}
我想知道他们的这种模式是否有问题,或者他们是否是一种更好的模式我可以使用,因为我已经听说过很多关于单身人士模式不是一个好的模式我不知道怎么样。但它对我有用。这样我相信我没有将任何网络调用绑定到FeedsActivity或FeedsFragment以避免内存泄漏