Изображения доступа из приложения Изображений в моем приложении для Android

В Python потоки довольно сложны и работают в одной и той же куче памяти. Потоки в основном работают одновременно, то есть несколько потоков чередуются вместе, так что только при запуске выполняется одновременно, и они вместе работают альтернативно в очень короткие промежутки времени (учитывая, что им нужен доступ к интерпретатору).

Когда вы переводите поток в спящий режим, он в основном использует базовые функции спящего режима системы и блокирует все операции над ним. Тем не менее, другие потоки, безусловно, работоспособны. Таким образом, когда вы говорите, что THREAD1 находится в спящем режиме до того, как он собирался получить доступ к глобальной переменной, очевидно, что другие потоки будут использовать переменную, потому что они работают, а THREAD1 - нет.

Как только THREAD1 пробуждается, при необходимости он получает GIL и, таким образом, получает доступ к глобальной переменной. Так как он снова чередуется с другими потоками, из-за параллелизма он получает немедленный доступ к глобальной переменной после активации. Если бы другие потоки использовали его, они бы отказались от доступа до того, как THREAD1 начал операции.

42
задан Pankaj 7 June 2015 в 21:43
поделиться

1 ответ

Можно использовать startActivityForResult, передающий в Намерении, которое описывает действие, с которым Вы хотите, чтобы завершенный и и источник данных выполнил действие.

К счастью для Вас, Android включает Действие для выбора вещей: Intent.ACTION__PICK и источник данных, содержащий изображения: android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI для изображений на локальном устройстве или android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI для изображений на SD-карте.

Вызов startActivityForResult передача в действии выбора и изображениях Вы хотите, чтобы пользователь выбрал из подобного это:

startActivityForResult(new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI), SELECT_IMAGE);

Затем переопределение onActivityResult для прислушиваний к пользователю, сделавшему выбор.

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  if (requestCode == SELECT_IMAGE)
    if (resultCode == Activity.RESULT_OK) {
      Uri selectedImage = data.getData();
      // TODO Do something with the select image URI
    } 
}

, После того как у Вас есть изображение Uri, которого можно использовать его, чтобы получить доступ к изображению и сделать независимо от того, что необходимо сделать с ним.

84
ответ дан Reto Meier 26 November 2019 в 23:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: