Android应用开发中如何查看Apollo Client缓存内容?
Android 查看 Apollo Client 缓存的实现方式
你当前安装的JS GraphQL IntelliJ插件仅提供编辑阶段的GraphQL语法补全、schema校验、查询关联跳转能力,本身不涉及Apollo Client运行时缓存的读取逻辑,在插件面板找不到缓存查看入口是正常的,不需要反复在插件配置里找相关选项。
目前不需要依赖额外的Android Studio插件,通过下面几种方式就能查看缓存内容:
- 开启Apollo内置调试日志
初始化Apollo Client时打开DEBUG级别的日志开关,应用运行过程中所有缓存读写记录、全量缓存内容都会直接输出到Logcat,过滤tag为Apollo即可查看。核心配置代码如下:val apolloClient = ApolloClient.Builder() .serverUrl("你的GraphQL服务端地址") .logLevel(LogLevel.DEBUG) .normalizedCache( normalizedCacheFactory = // 你项目中原本配置的缓存实现,比如内存缓存、SQL持久化缓存 ) .build() - 调试阶段直接读取缓存实例
应用以Debug模式运行时,直接在Android Studio自带的Debugger面板中拿到初始化完成的ApolloClient实例,调用apolloClient.apolloStore.dump()方法,返回结果就是全量缓存的键值对映射,直接在调试变量窗口就能逐层展开查看所有缓存实体、字段的具体值。
如果你用的是SQL持久化缓存,还可以直接打开Android Studio自带的App Inspection面板,找到Database Inspector直接导出/查看应用沙盒内的缓存数据库文件,不需要额外安装任何工具。 - Debug包集成官方调试UI
只在debug构建变体中引入Apollo的调试工具依赖,集成后debug安装包会自带可视化缓存查看页面,可以直接在手机端浏览所有缓存条目、查询缓存命中状态,不需要连接Android Studio也能查看缓存内容,该依赖不会打包进正式版本,不影响线上包体积。
目前没有专门适配Android Studio的Apollo缓存可视化插件,不需要在插件市场搜索相关工具,以上三种方式可以覆盖所有缓存调试场景。
内容的提问来源于stack exchange,提问作者me.at.coding
相关产品推荐
相关产品推荐

