Android-查看应用程序大小的来源

Android-查看应用程序大小的来源,android,oauth,size,sharedpreferences,application-size,Android,Oauth,Size,Sharedpreferences,Application Size,我的应用程序在第一次下载时是一个很好的尺寸,但在授权一些使用OAuth的站点并稍微使用该应用程序后,我很快就获得了大约10-12兆的容量。我想知道所有这些额外的数据是从哪里来的,因为我确信通过授权使用OAuth,每个站点只使用了大约2兆的数据 我不确定我是保存了太多oauth凭据,还是保存了太多东西来共享数据引用 我有没有办法分析我的应用程序下载版本的数据,看看这些数据来自何处?减少总内存分配或使应用程序尽可能平稳运行的一个技巧是定期调用函数System.gc() 我知道这不是一种监控内存来源的

我的应用程序在第一次下载时是一个很好的尺寸,但在授权一些使用OAuth的站点并稍微使用该应用程序后,我很快就获得了大约10-12兆的容量。我想知道所有这些额外的数据是从哪里来的,因为我确信通过授权使用OAuth,每个站点只使用了大约2兆的数据

我不确定我是保存了太多oauth凭据,还是保存了太多东西来共享数据引用


我有没有办法分析我的应用程序下载版本的数据,看看这些数据来自何处?

减少总内存分配或使应用程序尽可能平稳运行的一个技巧是定期调用函数
System.gc()


我知道这不是一种监控内存来源的方法,但如果你在每次应用程序关闭网站或导航到新网站时调用它,或者在你决定的固定时间间隔调用它,它将清除未使用的内存,并使整体体验更加顺畅。

设备上应用程序本身的大小不会改变

可以更改的是应用程序存储在设备上的数据的大小。大多数私有应用程序数据存储在
/data/data/
中。我会从查找大文件开始


需要注意的是应用程序不再需要的缓存文件,或者是经过OAuth流后增长的SQLite数据库。也有可能仅仅添加一个SQLite数据库就可以解释差异,这取决于应用程序的起始大小。

啊,你指的是错误的内存类型。我不确定我所说的数据的确切名称,但如果你进入android设置中的应用程序设置,它会显示在“数据”下,与“应用程序”分开,后者是安装应用程序时的数据“数据”是使用的额外数据,例如SharedReferences。是的,谢谢!实际上是我的webview缓存导致了这个问题。我通过调用myWebView.clearCache(true)解决了这个问题;这会清除我的应用程序中所有webview的缓存(默认情况下,应用程序使用相同的webview缓存,因此此方法默认情况下会清除其所有缓存)。