Есть объект класса QNetworkReply. Есть слот (в каком-то другом объекте), связанный с его сигналом finished (). Сигналы синхронные (по умолчанию). Есть только один поток.
В какой-то момент я хочу избавиться от обоих объектов. Больше никаких сигналов или чего-либо от них. Я хочу, чтобы они ушли. Ну, подумал, воспользуюсь
delete obj1; delete obj2;
А можно? Спецификации для ~ QObject говорят:
Удаление QObject во время ожидания доставки ожидающих событий может вызвать сбой.
Что такое «ожидающие события»?
Может ли это означать, что пока я вызываю свое delete
, уже есть некоторые «ожидающие события», которые нужно доставить, и что они могут вызвать сбой, и я не могу действительно проверить, есть ли они?
Итак скажем, я звоню:
obj1->deleteLater(); obj2->deleteLater();
На всякий случай.
Но действительно ли я в безопасности? deleteLater
добавляет событие, которое будет обрабатываться в основном цикле, когда туда попадет управление. Могут ли уже существовать некоторые ожидающие события (сигналы) для obj1
или obj2
, ожидающие обработки в основном цикле до того, как deleteLater будет обработано? Это было бы очень прискорбно. Я не хочу писать код, проверяющий статус «несколько удален» и игнорирующий входящий сигнал во всех моих слотах.
Также он очень быстро масштабирует картинку на моем телефоне samsung :)
Я знаю, что могу открыть изображение с такой целью:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(uri, "image/*");
startActivity(i);
Вызывается наиболее подходящая программа просмотра, когда ничего не обнаруживается, возникает ActivityNotFoundException. Так что круто!
Но проблема в том, что мне не разрешено открывать изображение с внешним намерением (в целях безопасности). то есть: у пользователя не должно быть возможности сохранить открытое изображение через пункт меню на своей внешней SD-карте или отправить это изображение в другую службу (электронная почта / твиттер или что-то в этом роде). Поэтому мне нужно написать свой собственный ImageViewer-Class (Activity), который можно вызывать только в моем приложении ... Также он очень быстро масштабирует картинку на моем телефоне samsung :)
Я знаю, что могу открыть изображение с такой целью:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(uri, "image/*");
startActivity(i);
Вызывается наиболее подходящая программа просмотра, когда ничего не обнаруживается, возникает ActivityNotFoundException. Так что круто!
Но проблема в том, что мне не разрешено открывать изображение с внешним намерением (в целях безопасности). то есть: у пользователя не должно быть возможности сохранить открытое изображение через пункт меню на своей внешней SD-карте или отправить это изображение в другую службу (электронная почта / твиттер или что-то в этом роде). Поэтому мне нужно написать свой собственный ImageViewer-Class (Activity), который можно вызывать только в моем приложении ... когда ничего не найдено, возникает исключение ActivityNotFoundException. Так что круто!
Но проблема в том, что мне не разрешено открывать изображение с внешним намерением (в целях безопасности). то есть: у пользователя не должно быть возможности сохранить открытое изображение через пункт меню на своей внешней SD-карте или отправить это изображение в другую службу (электронная почта / твиттер или что-то в этом роде). Поэтому мне нужно написать свой собственный ImageViewer-Class (Activity), который можно вызывать только в моем приложении ... когда ничего не найдено, возникает исключение ActivityNotFoundException. Так что круто!
Но проблема в том, что мне не разрешено открывать изображение с внешним намерением (в целях безопасности). то есть: у пользователя не должно быть возможности сохранить открытое изображение через пункт меню на своей внешней SD-карте или отправить это изображение в другую службу (электронная почта / твиттер или что-то в этом роде). Поэтому мне нужно написать свой собственный ImageViewer-Class (Activity), который можно вызывать только в моем приложении ... К сожалению, я не очень опытен в преобразовании изображений, поэтому есть ли какой-нибудь проект (или библиотека) с открытым исходным кодом, который охватывает этот вариант использования?
Я уже спросил у Google и нашел этот http://code.google.com/ p / android-pinch / , но он работал не очень хорошо (также у него нет функции прокрутки).
Спасибо за ваши советы :)