我正在开发一个蓝牙应用程序,该应用程序一直在运行,直到用户卸载应用程序或关闭其移动设备。我收到一条错误消息:"遗憾的是app停止了工作"。从我最初的研究来看,这似乎是一个内存泄漏问题。到目前为止,我发现任何带静态引用的对象都会泄漏内存。所以我需要删除变量的静态引用。我的项目有很多常量,如何在不使用public static final的情况下编写常量?
目前,我正在使用这样的东西:
for item in soup.find_all('tr', class_="srrowns"):
print(item.td.next_sibling.next_sibling.a['href'])
更新
我认为我的问题需要更多信息,所以这里是
私有静态变量问题 1)嗨朋友,我的应用程序使用数据库有9个表,每个表有7到13列,所以列名我宣布像 private static final String COLUMN_NAME_ACTIVE =" active&#34 ;; 类似地,已经声明了超过70个静态变量。 2)我已声明的另一个类中访问的一些实例 3)1 util class它是一个静态类
答案 0 :(得分:1)
您可以使用xml格式定义res / values中的常量,并使用R.
引用它。在这种情况下R.integer.
。
示例:强>
<resources>
<integer name="notif_id">1234</integer>
</resources>
使用示例:
someMethodName(R.integer.notif_id)
答案 1 :(得分:0)
创建一个Interface类并在那里定义变量
public interface Constants{
String Name="AAA";
String Age="20";
}
并像这样使用
String name=Constants.Name;
答案 2 :(得分:0)
您需要保留数据,您可以使用SharedPreferences
这样:
拒绝您的SharedPreferences
:
SharedPreferences sharedpreferences = getSharedPreferences("mypref", Context.MODE_PRIVATE);
写入您的SharedPreferences:
Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit();
并在需要时阅读:
String value = sharedpreferences.getString("key","defaultValue");
答案 3 :(得分:0)
通常我在一个文件中声明常量,这将帮助我和其他开发人员更新任何配置/值。
您可以使用List<Person>
来实现相同目标。默认情况下,接口是静态final,声明为static和final的变量声明。
interface
您可以通过2种方式在接口中使用常量 -
一个。可以直接调用它们,例如MyConstants.SERVER_URL;
湾在您的类中实现public interface MyConstants {
String SERVER_URL = "my_server_address";
int SPLASH_LAUNCH_TIME = 1000;
}
并直接访问所有常量。
明智地选择你的方法,通过使用方法2,你将淹没你班上的所有常数。即使他们在那个班级也不需要。
答案 4 :(得分:0)
您可以使用枚举:
public enum Gender {
MALE,
FEMALE
}
然后像这样访问:
Gender.MALE