Сборник тестов: 1500 вопросов и ответов на знание Android - Машнин Тимур Сергеевич (книги серии онлайн TXT) 📗
TextView label = new TextView (getApplicationContext ());
label. setText («Leaks are bad»);
if (sBackground == null) {
sBackground = getDrawable (R. drawable. large_bitmap);
}
label. setBackgroundDrawable (sBackground);
setContentView (label);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
class MyActivity extends Activity
{
private static Drawable sBackground;
TextView label;
@Override
protected void onCreate (Bundle state) {
super. onCreate (state);
label = new TextView (this);
label. setText («Leaks are bad»);
if (sBackground == null) {
sBackground = getDrawable (R. drawable. large_bitmap);
}
label. setBackgroundDrawable (sBackground);
setContentView (label);
onDestroy ()
{
label. unbindDrawables ()
}
}
////////////////////////////////////////////////////////////////////////////////////////////
Все перечисленное.
Вопрос 33
Если я хочу написать одно приложение для телефонов и планшетов, что я должен использовать в UI?
Используйте фрагменты, где это возможно, используйте пиксели вместо dp, используйте xhdpi изображения.
Используйте фрагменты, где это возможно, использовать dp вместо пикселей, используйте xhdpi изображения.
Избегайте использовать отступы на основе пикселей, вместо того используйте отступы по отношению к родителю.
Вопрос 34
У меня есть тысяча элементов в моем массиве, и я хочу отобразить их в listview, как наиболее оптимальным образом достичь этого?
Функция getView () customadapter объекта возвращает представление для каждой строки, его можно использовать повторно. Просто проверить, что оно не является нулевым, а затем вновь его использовать.
Если вы извлекаете данные из сети или таблицы SQL, убедитесь, что вы используете другой поток, чтобы сделать это, чтобы избежать переполнение основного потока.
Используйте ViewHolder вместо findViewById (), чтобы найти представления, получая данные в getView () customadapter объекта.
Используйте предопределенный черный цвет для listview, чтобы избежать перерисовки в Android.
Все перечисленное.
Вопрос 35
Как много процессов и виртуальных машин будут предоставлены для каждого приложения Android системой?
Один процесс и одну общую виртуальную машину для всех приложений.
Один процесс и одну виртуальную машину для каждого приложения.
Один общий процесс для всех приложений и одну виртуальную машину для каждого приложения.
Один общий процесс для всех приложений и одну общую виртуальную машину для каждого приложения.
Вопрос 36
Существует ли утечка памяти в Android приложениях?
Android основан на Java, Java имеет сборщик мусора для сбора неиспользуемой памяти, так что не нужно беспокоиться об утечках памяти.
Java GC не гарантирует отсутствие утечки памяти, если он находит ошибку указателя памяти, то он не может очистить эту память.
Java GC не гарантирует отсутствие утечки памяти, если он находит ошибку указателя памяти, то он не может очистить эту память. Могут быть некоторые ситуации, когда на активность указывают UI компоненты, на которые указывают статические переменные, что приводит к утечке памяти в Android.
Все перечисленное верно.
Вопрос 37
Что из следующего является циклом компиляции-выполнения?
test. java – > compile – > test. class – > dvm – > final machine code.
test. java – > compile – > test. class – > dx tool – >.dex – > dvm – > final machine code.
test. java – > compile – > test. class – >.dex – > dvm – > final machine code.
test. java – > compile – > byte code – > interpreter – > test. class – > dx tool – >.dex – > dvm – > final machine code.
Вопрос 38
Что такое анонимный класс?
Класс, для которого мы не можем создать любой объект.
Класс, для которого мы можем создать только один объект.
Класс без какого-либо тела.
Класс без имени класса, но с телом.
Вопрос 39
Что такое Singleton класс?
Класс, который не может быть расширен, это означает, что только одно определение для этого класса существует.
Класс, для которого мы можем создать только один объект:
public class Singleton {
private static Singleton instance;
public static synchronized Singleton getInstance () {
if (instance == null) {
instance = new Singleton ();
}
return instance;
}
}
Класс, для которого мы не можем создать какого-либо объекта.
Класс, который имеет только один базовый класс.
Вопрос 40
Что из следующего является жизненным циклом процесса или Android приложения?
(приложение) Процесс будет загружен в память перед загрузкой первого компонента приложения, и будет убит после уничтожения всех компонентов.
(приложение) Процесс будет загружен в память после загрузки первого компонента приложения, и будет убит после уничтожения всех компонентов.
(приложение) Процесс будет загружен в память перед загрузкой первого компонента приложения, и всегда будет оставаться в памяти.
(приложение) Процесс будет загружен в память перед загрузкой первого компонента приложения, и будет убит после уничтожения всех компонентов. Но если пользователь отрывает это приложение очень часто, то, возможно, Android не будет убивать процесс для оптимизации времени загрузки этого приложения.
Вопрос 41
Как serializable отличаются от Parcel?
Parcel используются в Binder. Мы используем Parcel только для IPC, для нормальной сериализации мы используем serializables.
Parcel используются в Binder. Мы можем использовать Parcel для любого вида сериализации.
Binder используются в Parcel. Мы используем serializable только для IPC, для нормальной сериализации мы используем Parcel.
serializable и Parcel одинаковы, вы можете использовать любой из них в любом сценарии сериализации.
Вопрос 42
Зачем используется SQLite в Android?
SQLite является легкой версией SQL, чтобы хранить данные в виде таблиц, и предназначена для встраиваемых устройств, таких как телефоны и планшеты.
Так как встраиваемые устройства имеют ограниченную скорость процессора и ограниченную память, они не могут позволить себе тяжеловесные DBMS. Поэтому встроенные устройства используют SQLite, чтобы хранить свои данные в табличной форме.
SQLite это RDBMS.
Все перечисленное.
Вопрос 43
Зачем используется SQLiteOpenHelper в SQLite?
Вспомогательный класс предоставляет функциональные возможности для удаления строк, вставку данных в строки в таблице.
Вспомогательный класс позволяет управлять базами данных, создавать и управлять версиями. Это класс, где создаются и обновляются все таблицы.
Вспомогательный класс используется для извлечения данных из удаленных серверов и хранения данных в SQLiteDatabase.
Ничего из перечисленного.
Вопрос 44
Зачем используется функция onUpgrade в SQLiteOpenHelper?
onUpgrade является функцией, которая используется для обновления строк в таблице.