Recyclerview 在多个 activity 实例之后滞后
Recyclerview beings to lag after multiple activity instances
所以答案可能只是与内存有关。但我想问问确定...
我有一个 activity,其中包含一些内容和一个水平回收视图。水平回收视图显示最多 ~20 个项目,这些项目都是图像。我使用 Glide 加载这些图像,recyclerview 上的滚动非常棒,它很流畅,很少有滞后。当您单击 recyclerview 中的图像项目时,它会打开相同的 activity(但带有新数据)。这就是问题开始的地方。
如果我打开多个 Activity > 10,每个 activity 中的 recyclerview 会变得越来越慢,并且会越来越滞后。某处有内存泄漏吗?起初我认为这是意料之中的,因为我正在创建大量活动,但后来我认为这无关紧要,因为每个 activity 都应该调用 onPause() 然后调用 onDestroy() 如果内存是一个问题。
有谁知道这是预期的行为还是某处确实存在内存泄漏?此外,activity 滚动视图不会滞后,但一旦创建了大量活动,recyclerview 就会延迟。
不,这不是预期的行为,是的,听起来确实像是内存泄漏。不幸的是,如果不查看更多代码,我们无法真正帮助您找到内存泄漏。我会检查新的 activity 中是否有任何对前一个 activity 的引用,或任何静态引用,或任何会导致前一个 activity 无法清理的内容。
您是否需要打开相同的 activity 但使用它的新实例?你想保留返回堆栈行为吗?如果不是,您应该重用相同的 activity 但将其传递给新的 Intent
以重新绑定新数据并使 activity singleTop
或 singleTask
.
在你的情况下开始一个新的 activity 不是最好的选择,请记住,当你开始一个与当前相同的新 activity 时,你有相同的布局和相同的对我来说 redundant.You 的观点最好更新当前 activity 例如..
将新数据传递给 recyclerview 并更新它。
更新任何其他视图以根据新数据正确操作。
与您当前的方法相比,这会更有效率。
所以答案可能只是与内存有关。但我想问问确定...
我有一个 activity,其中包含一些内容和一个水平回收视图。水平回收视图显示最多 ~20 个项目,这些项目都是图像。我使用 Glide 加载这些图像,recyclerview 上的滚动非常棒,它很流畅,很少有滞后。当您单击 recyclerview 中的图像项目时,它会打开相同的 activity(但带有新数据)。这就是问题开始的地方。
如果我打开多个 Activity > 10,每个 activity 中的 recyclerview 会变得越来越慢,并且会越来越滞后。某处有内存泄漏吗?起初我认为这是意料之中的,因为我正在创建大量活动,但后来我认为这无关紧要,因为每个 activity 都应该调用 onPause() 然后调用 onDestroy() 如果内存是一个问题。
有谁知道这是预期的行为还是某处确实存在内存泄漏?此外,activity 滚动视图不会滞后,但一旦创建了大量活动,recyclerview 就会延迟。
不,这不是预期的行为,是的,听起来确实像是内存泄漏。不幸的是,如果不查看更多代码,我们无法真正帮助您找到内存泄漏。我会检查新的 activity 中是否有任何对前一个 activity 的引用,或任何静态引用,或任何会导致前一个 activity 无法清理的内容。
您是否需要打开相同的 activity 但使用它的新实例?你想保留返回堆栈行为吗?如果不是,您应该重用相同的 activity 但将其传递给新的 Intent
以重新绑定新数据并使 activity singleTop
或 singleTask
.
在你的情况下开始一个新的 activity 不是最好的选择,请记住,当你开始一个与当前相同的新 activity 时,你有相同的布局和相同的对我来说 redundant.You 的观点最好更新当前 activity 例如..
将新数据传递给 recyclerview 并更新它。
更新任何其他视图以根据新数据正确操作。
与您当前的方法相比,这会更有效率。