7

我尝试做的是在游戏中获取大量有关英雄的数据并将其保存在数据库中,我使用 OkHttp 向服务器发出请求并使用 gson 解析 json,然后将我从 gson 获得的类保存到数据库通过使用来自 Jetbrains 的名为 Exposed 的 ORM。调用是在一个循环中进行的,对于每个英雄,他们的最后一场比赛将有 500 个结果,有 115 个英雄,我让线程在每个请求前休眠 1 秒。该应用程序开始运行得非常快,我什至无法在控制台中读取结果,但过了一会儿我得到了这个:

I/zygote: Background concurrent copying GC freed 72775(3MB) AllocSpace objects, 5(5MB) LOS objects, 49% free, 5MB/11MB, paused 416us total 1.664s

然后应用程序运行速度非常慢,我在数据库/秒中获得 1 个条目,那时我希望再获得 15000 个条目。在 logcat 中,我也得到了这个

03-29 12:01:00.050 1634-1651/? W/android.os.Debug: failed to get memory consumption info: -1
03-29 12:01:00.059 1634-1651/? E/memtrack: Couldn't load memtrack module

应用程序没有崩溃,只是变得非常慢,有趣的是,当我重新启动应用程序时,它立即变慢,第一次在 10 分钟后变慢,但之后一直很慢。同样在我重新启动后,它会写下类似的东西

V/StudioProfiler: Loaded classes: 8137

为什么应用程序刚启动会加载这么多类,这一切意味着我是初学者,我真的不明白这一切。有任何想法吗?

谢谢你。

4

0 回答 0