小编Jor*_*dez的帖子

将 Retrofit 实例保存在内存中是一个好习惯吗?

我应该缓存由 Retrofit 生成的对象还是建议动态创建?

我开始从旧的网络框架逐步迁移到 Retrofit,它从一个非常基本的逻辑开始,用于缓存 Retrofit 创建的实例。这是由于我们的架构将在不同的活动/片段中使用不同的端点,当用户访问应用程序的不同部分时,将调用此方法:

static public <T> T getApi(Class<T> apiInterface) {
  validateInitialization("getApi()");

  if (!mApis.containsKey(apiInterface.getSimpleName())) {
    mApis.put(apiInterface.getSimpleName(), retrofit().create(apiInterface));
  }

  return (T) mApis.get(apiInterface.getSimpleName());
}
Run Code Online (Sandbox Code Playgroud)

然而,随着我们继续迁移我们的模式以使用 Retrofit,这个地图的大小正在增加(目前可以创建大约 20 个不同的接口/api),有时包含不再使用的实例。

performance android caching retrofit retrofit2

3
推荐指数
1
解决办法
710
查看次数

标签 统计

android ×1

caching ×1

performance ×1

retrofit ×1

retrofit2 ×1