【发布时间】:2017-12-19 14:49:36
【问题描述】:
我正在开发一个蓝牙应用程序,它一直在运行,直到用户卸载应用程序或关闭他们的手机。我收到一条错误消息:“不幸的是应用程序停止工作”。从我最初的研究来看,这似乎是一个内存泄漏问题。到目前为止,我发现任何具有静态引用的对象都会泄漏内存。所以我需要删除变量的静态引用。我的项目有很多常量,不使用public static final怎么写常量?
目前,我正在使用这样的东西:public static final int NOTIFICATION_ID=1234;
更新
我认为我的问题需要更多信息,所以在这里
私有静态变量问题 1)嗨朋友,我的应用程序使用的数据库有 9 个表,每个表有 7 到 13 列,所以我声明的列名就像 私有静态最终字符串 COLUMN_NAME_ACTIVE = "活动"; 同样声明了 70 多个静态变量。 2)在我声明的另一个类中访问的一些实例 3)1 util类它是一个静态类
【问题讨论】:
-
使用接口而不是在类中定义
-
静态最终常量不是你的问题。它们占用了一些内存,但它们都是在启动时分配的,之后就再也不会移动了。你可能有一个更复杂的问题。 stackoverflow.com/questions/6470651/…
-
"目前我使用的是 public static final int NOTIFICATION_ID=1234;" -- 这不是内存泄漏。 “当我搜索时,我才知道这是内存泄漏问题”——除非您收到
OutOfMemoryError,否则您不会因内存泄漏而崩溃。
标签: java android memory-leaks bluetooth