Articles of multithreading

Delphi XE5 Android-приложение должно обрабатывать трудоемкие задачи внутри потока?

Я просто новичок в разработке приложений для Android от Delphi XE5. Во время какой-то отнимающей много времени задачи, обрабатываемой в основном процессе, прикосновение к экрану (непрерывное нажатие экрана снова и снова) вызывает ненормальный конец приложения. Я предполагаю, что это из-за так называемого «приложения, не отвечающего», и подтвердите мое предположение блоком кода ниже. procedure TForm1.Button1Click(Sender: TObject); […]

Остановить поток Java, который вызывает функцию JNI

Здесь я хочу остановить поток или убить поток, который создается на уровне Java, и этот поток вызывает функцию JNI. Иногда, согласно моему требованию, я должен остановить выполнение JNI-функции на некоторых условиях, если это произойдет , иначе нет. new Thread(new Runnable() { @Override public void run() { // My jni function call, It calls my JNI […]

Есть ли эквивалент RxJava для Handler.postDelayed (Runnable r, long delayMillis)

Я пытаюсь вызвать метод, который возвращает void (примитивный тип Java). Я хотел бы отложить вызов его с помощью предопределенного количества миллисекунд. Я знаю, что это можно сделать просто с помощью Handler , я предпочитаю не использовать его. Я пытался это сделать: Observable.just(getView().setAttachments(attachments)).delay(50, TimeUnit.MILLISECONDS); Однако есть ошибка компиляции: Observable.just(java.lang.Void) cannot be applied to (void) Есть ли […]

ExecutorService, похоже, работает в пользовательском интерфейсе?

Я пытаюсь использовать ExecutorService для запуска кода для подключения моего клиента к серверу. Очевидно, я пытаюсь заставить это работать в отдельном потоке в потоке пользовательского интерфейса, но мой пользовательский интерфейс зависает при выполнении кода. Это не то, что я обнаружил. Я думал, что ExecutorService будет работать на отдельной ветке? Ниже мой код @Override public void […]

Тяжелая нагрузка на поток, вызывающая проблемы с памятью

В ловушке я все время вижу это: I / art: фоновая липкая параллельная развертка метки GC освобождена 141468 (7 МБ) Объекты AllocSpace, объекты (LOC) объекта (255 КБ), 25% бесплатно, 21 МБ / 29 МБ, приостановлено на 1.228мс всего 132.652мс и это: W / art: Приостановка всех потоков заняла: xxx миллисекунды И это заставляет меня получить […]

Единство3d – Отдельный поток пользовательского интерфейса для Android

В моем приложении VR для Android-смартфонов (я думаю, не имеет значения, является ли это приложение VR или нет). Я загружаю 6 больших изображений из Street View и выстраиваю из него skybox. Во время этого процесса все приложение вкл. Среда и пользовательский интерфейс зависают. Через ~ 10 секунд процесс прекращается, и на экране отображается «Просмотр улиц». […]

Android ProgressDialog с проблемой потоковой передачи

У меня проблема с использованием ProgressDialog во время выполнения процесса. Я пробовал каждый неверный путь и смотрел на многочисленные веб-сайты, которые предлагали примеры того, что я пытаюсь сделать, однако я все еще сталкиваюсь с проблемой, что поток работает до того, как ProgressDialog когда-либо появляется. Вот моя последняя попытка: new Thread(new Runnable() { public void run() […]

Retrofit 2 Callback onResponse в фоновом потоке

Это, вероятно, было задано раньше, но, похоже, не было жизнеспособного ответа. Мы используем асинхронный обратный вызов Retrofit 2.1.0, который выполняет запрос в фоновом потоке. Однако, когда ответ получен в ответ на onResponse он отправляется обратно в поток пользовательского интерфейса приложения независимо от того, как я помещаю обратный вызов в новый поток, заставляя его не использовать […]

Android: несколько потоков, записываемых в базу данных SQLite

В onCreate() моего основного действия я вызываю конструктор моего dbManager, я вызываю открытую функцию, которая создает экземпляр SQLiteOpenHelper и я вызываю на нем getWritableDatabase() . В UIThread я добавляю записи в базу данных и сохраняю эти записи в ArrayList. Два других потока проверяют, что ArrayList делает материал, а не обновляет список и базу данных. Теперь […]

AsyncTask или Handler – какой из них лучше для трудоемкого сетевого взаимодействия и обработки?

Я новичок в разработке Android. В настоящее время я работаю над приложением, которое возьмет запрос от пользователя, отправит запрос на сервер и получит ответ XML в ответ. Затем он обработает xML-ответ с помощью XMLparser, извлечет ответ из ответа XML и отобразит ответ пользователю. Поскольку вся эта обработка занимает некоторое время, я хочу показать пользователю диалог […]