Фонд |
Структурирование приложений для улучшения производительности11.06.2016 Android-устройства представляют собой многопроцессорные системы, способные одновременно выполнять несколько операций, по каждое приложение само должно позаботиться о разделении па операции и их параллельном выполнении для оптимизации производительности. Если приложение не предусматривает деления на операции и выполняется как одна длинная операция, такое приложение сможет использовать только один процессор (CPU), но в этом случае производительность не будет оптимальной. Неделимые операции всегда выполняются только синхронно (synchronously), тогда как потенциально разделяемые операции могут выполняться асинхронно. При наличии асинхронных операций система имеет возможность распределить их выполнение между несколькими процессорами и тем самым увеличить производительность. Хочется чего-то необычного? Станьте участником эротического шоу - массаж в две руки. Приложение с несколькими независимыми задачами должно быть структурировано так, чтобы обеспечить асинхронное их выполнение. Одно из решений - организовать выполнение приложения в нескольких процессах, так как процессы могут работать параллельно. Но каждый процесс распределяет память для собственных основных ресурсов, поэтому выполнение приложения в нескольких процессах потребует большего объёма памяти, чем приложение в одном процессе. Более того, запуск процессов и обмен данными между ними осуществляются медленно, и нет эффективного способа организации асинхронного выполнения. Решение по организации выполнения приложения в нескольких процессах вполне может быть правильным, но оно не обязательно должно приводить к увеличению производительности. Чтобы достичь более высокой пропускной способности и лучшей производительности, приложению следует использовать несколько потоков в рамках каждого процесса.
|