我正在開發一個始終運行的藍牙應用程序,直到用戶卸載應用程序或關閉其移動設備。我收到一條錯誤消息:「不幸的應用程序停止工作」。從我最初的研究來看,這似乎是一個內存泄漏問題。到目前爲止,我發現任何具有靜態引用的對象都會泄漏內存。所以我需要刪除變量的靜態引用。我的項目有很多常量,我如何在不使用public static final的情況下編寫常量?如何在不使用公共靜態的情況下在Android中聲明常量最終
目前,我使用的是這樣的:
public static final int NOTIFICATION_ID=1234;
更新
我覺得我的問題需要更多的信息,以便在這裏它是
私有靜態變量的問題 1)嗨朋友,我的應用程序使用數據庫有9個表,每個表有7到13列,所以列名我聲明像 私人靜態最終字符串COLUMN_N AME_ACTIVE =「active」; 類似地,已經聲明瞭超過70個靜態變量。 2)某些情況下,在另一個類我宣佈 3)1 UTIL類來訪問它是一個靜態類
使用接口,而不是在類中定義 – akhilesh0707
靜態最終常量在這裏不是你的問題。他們佔用了一些內存,但是這些內存都是在啓動時分配的,並且從不隨後移動。你可能有一個更復雜的問題。 https://stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java – litelite
「目前我使用像公共靜態最終詮釋NOTIFICATION_ID = 1234;」 - 這不是內存泄漏。 「當我搜索時,我知道這是內存泄漏問題」 - 除非得到'OutOfMemoryError',否則不會因內存泄漏而崩潰。 – CommonsWare