我正在开发一个蓝牙应用程序,一直运行,直到用户卸载应用程序或关闭手机。我收到一条错误消息:“不幸的是,应用程序停止工作”。从我最初的研究来看,这似乎是一个内存泄漏问题。到目前为止,我已经发现任何带有静态引用的对象都会泄漏内存。所以我需要删除变量的静态引用。我的项目有很多常量,我怎么写常量而不使用公共静态final?
目前,我使用的是这样的东西: public static final int NOTIFICATION_ID=1234;
更新
我想我的问题需要更多的信息
私有静态变量问题1)嗨,朋友们,我的应用程序使用的数据库有9个表,每个表有7到13列,所以我声明的列名像private static final string column\u name\u active=“active”;类似地,已经声明了70多个静态变量。2) 我声明的另一个类中要访问的一些示例3)1 util class它是一个静态类
5条答案
按热度按时间3htmauhk1#
您需要持久化数据,您可以使用
SharedPreferences
这样地:你是谁
SharedPreferences
:写信给您的共享参考:
当你想读的时候读:
628mspwn2#
通常我在单个文件中声明常量,这将帮助我和其他开发人员更新任何配置/值。
您可以通过使用
interface
. 默认情况下,接口是静态final,变量声明同时声明为静态和final。可以通过两种方式在接口中使用常量-
答。或者直接调用它们,比如myconstants.server\u url;
b。实现这一点
interface
并直接访问所有常量。明智地选择你的方法,通过使用方法2,你将淹没类中的所有常量。即使他们在那门课上也不是必需的。
des4xlb03#
创建一个接口类并在那里定义变量
像这样使用
jljoyd4f4#
您可以在xml格式下定义res/values中的常量,并使用
R.
在这种情况下R.integer.
.例子:
用法示例:
someMethodName(R.integer.notif_id)
w9apscun5#
可以使用枚举:
然后像这样访问它: