Articles of мусора

OnReceive асинхронные операции и сбор мусора

Является ли поток метода onReceive подходящим для сбора мусора до его завершения? @Override public void onReceive(final Context context, Intent intent) { final int alarmId = intent.getExtras().getInt(EXTRA_ALARM_ID); Log.i(TAG, "/onReceive with an alarmVo.id of " + alarmId); // RUN MY THREAD new Thread(new Runnable() { @Override public void run() { AlarmUtil.setNextAlarm(context, alarmId); } }).start(); } Из того, […]

Получить список запущенных процессов и убить их фоновые службы

Я создаю приложение для Android для оптимизации ОЗУ. Я могу успешно получить список запущенных процессов (и их PID), используя этот ответ . Тем не менее, я не вижу способа убить их или их фоновые сервисы с помощью PID.

Монодроид: выполнение полного GC

Я пытаюсь создать свою маленькую систему частиц. У меня есть ParticleManager со списком частиц и нарисовать мои частицы на холсте. Я создаю любые новые объекты, такие как Paint и т. Д., Только как раз в функции init ()! Если размер частиц <0, я удаляю его: for (int particle = 0; particle < particles.Count; particle++) { […]

Почему потоки протекают на Android?

Я заметил в нашем приложении Android, что каждый раз, когда мы выходим на главный экран, мы увеличиваем размер кучи (утечки) на количество ByteArrayOutputStream. Лучшим, с чем я смог справиться, является добавление this.mByteArrayOutputStream = null; В конце run (), чтобы предотвратить увеличение размера кучи. Если бы кто-нибудь мог просветить меня, я был бы очень благодарен. Я […]

OnCreate и OnNewIntent оба вызываются, когда действие Destroy проверяется в опции разработчика

Существует опция разработчика в android-Destroy Activity, как только пользователь ее покинет. Поэтому, когда я проверяю эту активность и запускаю свою активность с одним верхним флагом. Я видел, что оба мои onCreate и OnNewIntent вызывались при запуске приложения после нажатия кнопки «Главная». Может ли кто-нибудь объяснить, почему обе функции были вызваны, а также она была вызвана […]

Распределение памяти в Java – Android

Если бы у меня был: Bitmap bitmap = Bitmap.create(..); // instance a bitmap = Bitmap.create(…); // instance b bitmap = null; bitmap = Bitmap.create(…); // instance c bitmap.recycle(); bitmap = Bitmap.create(…); // instance d bitmap.recycle(); bitmap = null; Как только этот код будет выполнен, какой из четырех экземпляров все еще находится в памяти? Я знаю […]

Когда экземпляр Деяния умрет?

Вот пример кода, который делает меня немного отсутствующим: package com.leak; import android.app.Activity; import android.app.ProgressDialog; import android.os.AsyncTask; import android.os.Bundle; public class WindowLeakActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new LeakThread().execute(); } class LeakThread extends AsyncTask<Void, Void,Void>{ ProgressDialog dialog; @Override protected void onPreExecute() { dialog=new ProgressDialog(WindowLeakActivity.this); dialog.show(); } @Override protected Void doInBackground(Void… params) […]

Слабая ссылка для обратной связи с сетью?

В нашем проекте мы обнаружили утечки памяти из-за сетевых обратных вызовов. Запрос сети запускается из фрагмента, и ответ возвращается через обратный вызов фрагмента. Проблема заключается в том, что когда пользователь покидает фрагмент, его мусор не собирается, поскольку обратный вызов привязан к нему. Следовательно, есть утечка памяти. Мое предлагаемое решение заключалось в том, чтобы аннулировать ссылку […]

Canvas: попытка использования переработанного растрового изображения android.graphics.Bitmap

11-24 23:19:18.434: ERROR/AndroidRuntime(12660): Uncaught handler: thread main exiting due to uncaught exception 11-24 23:19:18.684: ERROR/AndroidRuntime(12660): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@4384c218 11-24 23:19:18.684: ERROR/AndroidRuntime(12660): at android.graphics.Canvas.throwIfRecycled(Canvas.java:955) 11-24 23:19:18.684: ERROR/AndroidRuntime(12660): at android.graphics.Canvas.drawBitmap(Canvas.java:1044) 11-24 23:19:18.684: ERROR/AndroidRuntime(12660): at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:291) 11-24 23:19:18.684: ERROR/AndroidRuntime(12660): at android.widget.ImageView.onDraw(ImageView.java:908) 11-24 23:19:18.684: ERROR/AndroidRuntime(12660): at android.view.View.draw(View.java:6283) 11-24 23:19:18.684: ERROR/AndroidRuntime(12660): at android.view.ViewGroup.drawChild(ViewGroup.java:1581) 11-24 […]

Как избежать утечки памяти в context.getSystemService (Context.CAMERA_SERVICE)?

Я обнаружил утечку памяти в Android 5.x Camera2 API, о котором я также сообщал . Проблема заключается в том, что вы используете устройство Android Lollipop, которое имеет API Camera2, реализованный в режиме LEGACY . На таких устройствах вызов context.getSystemService(Context.CAMERA_SERVICE) вызывает сохранение context чтобы он не собирался собирать мусор. Если этот context – это ваша деятельность, […]