Articles of singleton

Может ли сборщик мусора отменить выделение одного экземпляра? (И почему и как его избежать)

В Android у меня есть одноэлементный класс, но я не уверен, может ли сборщик мусора освободить его. Если сборщик мусора освободит мой класс singleton, как можно избежать его освобождения?

Android: лучший способ сохранить данные, хранящиеся в приложении Singleton Class

Каков наилучший способ сохранить данные, хранящиеся в классе приложений (singleton) приложения Android? У меня есть тихое большое приложение, которое разделяет много данных между действиями. Поэтому большинство из них хранится в приложении Singleton. Все это отлично работает. Используйте приложение, которое убивает ОС на низкой памяти … затем, когда он возвращается, он пытается возобновить работу без успеха […]

Многопоточная блокировка SQLiteDatabase

Я использую этот класс для управления соединением с базой данных SQLiteDatabase public class BasicDataSource { protected DatabaseHandler dbHelper; protected volatile SQLiteDatabase readable_database; protected volatile SQLiteDatabase writable_database; protected Object read_lock = new Object(); protected Object write_lock = new Object(); protected Context context; protected BasicDataSource(Context ctx) { dbHelper = DatabaseHandler.getInstance(ctx); getReadableDatabase(); dbHelper.onCreate(getWritableDatabase()); this.context = ctx; } public […]

Android Single Singleton

У меня есть активность под названием MainActivity. Это действие запускает уведомление, в котором есть PendingIntent, который открывает эту MainActivity. Итак, чтобы закрыть приложение, я должен дважды нажать кнопку «Назад». Я хотел бы настроить активность как singleton. Я попытался показать singleInstance или singleTask, но это не сработает.

Android: Доступ к единой базе данных из нескольких действий в приложении?

У меня есть приложение типа списка дел, которое хранит все данные заметки в базе данных sqlite3. Для каждого действия в приложении требуется доступ к базе данных для редактирования различных частей данных в режиме реального времени. В настоящее время у меня есть каждое действие, открывающее свой собственный объект DBManager (вспомогательный класс, который я создал для управления […]

Установка значения свойства Singleton в Firebase Listener

В настоящее время я тестирую Firebase вместе с моделью Singleton, которую планирую использовать для доступа во время жизненного цикла всего приложения. Я теперь застрял с чем-то, что кажется действительно тривиальным, но я не могу понять это для жизни меня. У меня есть образец модели, которую я использую: Закладки в firebase. public class BookSingleton { private […]

Самый безопасный способ использования SharedPreferences

Мне нужен класс, который обрабатывает мои SharedPreferences, и я придумал три способа сделать это, однако после некоторых исследований кажется, что большинство из них считаются «анти-шаблонами». Тип 1 public final class MyPrefs { private MyPrefs(){ throw new AssertionError(); } public static void setFavoriteColor(Context context, String value){ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); prefs.edit().putString("color_key", value).apply(); } public static void […]

Получить контекст приложения из класса non activity singleton

В моем проекте андроида у меня есть класс ImageAdapter, в котором я передаю контекст приложения для некоторых дальнейших потребностей. public class ImageAdapter extends BaseAdapter { private Context c; public ImageAdapter(Context c) { this.c = c; } … } Проблема в том, что я хочу сделать ImageAdapter как singleton, чтобы иметь легкий доступ к экземпляру этого […]

Android Singleton с глобальным контекстом

В Android-документации говорится: Как правило, нет необходимости в подклассе Application. В большинстве случаев статические синглтоны могут обеспечивать такую ​​же функциональность более модульным способом. Если вашему одноточечному узлу нужен глобальный контекст (например, для регистрации широковещательных приемников), функция для его получения может быть предоставлена ​​Контекст, который внутренне использует Context.getApplicationContext() при первом конструировании Singleton. Как мне создать статический […]

Android: не удается выполнить эту операцию, потому что пул соединений закрыт

Я читал через stackoverflow об этом вопросе, и я до сих пор не нашел решения. Я замечаю, что иногда приложение меняет эту ошибку: java.lang.IllegalStateException: Cannot perform this operation because the connection pool has been closed. at android.database.sqlite.SQLiteConnectionPool.throwIfClosedLocked(SQLiteConnectionPool.java:962) at android.database.sqlite.SQLiteConnectionPool.waitForConnection(SQLiteConnectionPool.java:599) at android.database.sqlite.SQLiteConnectionPool.acquireConnection(SQLiteConnectionPool.java:348) at android.database.sqlite.SQLiteSession.acquireConnection(SQLiteSession.java:894) … У меня есть файл DatabaseHelper.java, используя этот подход, чтобы получить его […]