用于保留状态的最大区域

问题描述 投票:0回答:1

我想知道为什么保留状态限制为50个区域?

    private static final int MAX_REGIONS_FOR_STATUS_PRESERVATION = 50;

使用RegionBootstrap实现监视许多区域(例如500个)有什么影响?

感谢

ibeacon-android
1个回答
0
投票

该库必须在每次应用启动时对磁盘中的区域进行序列化和序列化。对于某些地区来说,这是一个快速的过程,但随着更多地区的发展而变慢。在极端情况下(例如500),序列化和反序列化可能需要几秒钟,并触发“应用程序无响应”(ANR)对话框。这就是为什么将健全性限制设置为50的原因。

除了上述限制之外,监视如此多的区域将消耗更多的CPU和电池,因为库必须将每个区域与检测到的每个信标进行比较,以查看它们是否匹配。如果可能的话,设计一个应用程序以使用更少的区域更为有效。如果您绝对必须使用那么多的电池,请确保测试电池电量消耗。

© www.soinside.com 2019 - 2024. All rights reserved.