【发布时间】:2019-09-27 13:08:37
【问题描述】:
我想知道为什么状态保留限制为 50 个区域?
private static final int MAX_REGIONS_FOR_STATUS_PRESERVATION = 50;
使用RegionBootstrap 实现监控多个区域(如 500 个)有什么影响?
谢谢
【问题讨论】:
标签: ibeacon-android
我想知道为什么状态保留限制为 50 个区域?
private static final int MAX_REGIONS_FOR_STATUS_PRESERVATION = 50;
使用RegionBootstrap 实现监控多个区域(如 500 个)有什么影响?
谢谢
【问题讨论】:
标签: ibeacon-android
库必须在每次应用启动时从磁盘序列化和序列化区域。这对少数地区来说是一个快速的过程,但随着更多地区的发展而减慢。在极端数量(如 500)下,序列化和反序列化可能需要几秒钟并触发应用程序无响应 (ANR) 对话框。这就是 50 的理智限制到位的原因。
除了上述限制之外,监控如此多的区域会消耗更多的 CPU 和电池,因为库必须将每个区域与检测到的每个信标进行比较,以查看它们是否匹配。如果可能,将应用程序设计为使用更少的区域会更有效。如果您绝对必须使用这么多,请务必测试电池消耗。
【讨论】: