我的应用程序中有一个全局public boolean isStatusBarVisible() {
Rect rectangle = new Rect();
Window window = getActivity().getWindow();
window.getDecorView().getWindowVisibleDisplayFrame(rectangle);
int statusBarHeight = rectangle.top;
return statusBarHeight != 0;
}
,其中包含自定义对象作为键。第三方将其称为API,他们将创建一个新的自定义对象,如果HashMap
中还没有该对象,则将其放入地图中。在这种情况下,随着HashMap大小的不断增加,如何管理OutOfMemoryError,并且在部署后增加JVM内存很繁琐。
答案 0 :(得分:1)
如果此映射可以无限期增加,则您需要的解决方案不仅仅是内存中的HashMap
。即使您不断提高JVM的限制,您使用的实际硬件也是有限的。
您可以改为将这些密钥保留在数据库(或文件)中,然后对它进行查询。为了提高性能,您可以决定将N个最近使用的密钥保留在内存中作为缓存。