使用Stetho和Stetho领域。

Stetho.initialize(
                Stetho.newInitializerBuilder(this)
                        .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                        .enableWebKitInspector(RealmInspectorModulesProvider.builder(this).build())
                        .build());

我可以使用Google Developer Console查看Realm数据库的内容,但是最大索引为249,之后的所有值都将被截断-

Android Stetho的Google Developer工具资源被截断-LMLPHP

如何强制它显示所有值?

最佳答案

原因是Stetho内部的限制。在类里
com.facebook.stetho.inspector.protocol.module.Database
https://github.com/facebook/stetho/blob/36aa5bd356d9cf5893b9424b06a83dda9ec5e44f/stetho/src/main/java/com/facebook/stetho/inspector/protocol/module/Database.java

有此信息-

  /**
   * The protocol doesn't offer an efficient means of pagination or anything like that so
   * we'll just cap the result list to some arbitrarily large number that I think folks will
   * actually need in practice.
   * <p>
   * Note that when this limit is exceeded, a dummy row will be introduced that indicates
   * truncation occurred.
   */
  private static final int MAX_EXECUTE_RESULTS = 250;

对于Realm Stetho,可以通过这种方式更改限制-
Stetho.initialize(
                Stetho.newInitializerBuilder(this)
                        .enableDumpapp(Stetho.defaultDumperPluginsProvider(this))
                        .enableWebKitInspector(RealmInspectorModulesProvider.builder(this)
                                .withFolder(getCacheDir())
                                .withMetaTables()
                                .withDescendingOrder()
                                .withLimit(100000)
                                .build())
                        .build());

10-08 09:12