Главная » Статьи для тега "мусора"

ПОЛЕЗНЫЕ СОВЕТЫ  ПРИ РАЗРАБОТКЕ ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 15 August, 2013 категория: Программирование игр под Android

 

Android (или, скорее, Dalvik) иногда имеет некоторые странные показатели производительности. Я дам вам некоторые полезные и важные подсказки, которым стоит следовать, чтобы сделать ваши игры удобными.

Сборщик мусора – ваш злейший враг. Когда он получает процессорное время для выполнения своей грязной работы, все другие процессы останавливаются на 600 миллисекунд. В течение этой половины секунды наша игра не будет обновляться и прорисовываться. Пользователям это не понравится. Избегайте создания объектов везде, где это возможно (особенно во внутренних циклах).

Читать »

СРЕДА ВРЕМЕНИ ИСПОЛНЕНИЯ ПРИЛОЖЕНИЯ ANDROID

Добавлено Дата: 26 July, 2013 категория: Разработка для Android

 

Уникальная архитектура компонентов приложения Android обязана своим появлением отчасти тому, как в Android реализуется среда многопроцессного исполнения. Чтобы эта среда подходила для большого количества приложений, получаемых от многих производителей, и минимальным требованием для работы было доверие каждому из производителей, Android задействует несколько экземпляров виртуальной машины Dalvik, по одному для каждой задачи. В разделе «Жизненные циклы компонентов» далее и мы исследуем, как жизненные циклы компонентов позволяют Android оптимизировать способ сборки мусора в кучах (неупорядоченных массивах), используемых приложениями, и как обеспечивается выполнение стратегии восстановления памяти сразу в нескольких кучах.

Читать »

СБОРКА МУСОРА – JAVA ДЛЯ ANDROID

Добавлено Дата: 4 July, 2013 категория: Разработка для Android

 

В языке Java организуется сборка мусора. Это означает, что код не управляет памятью. Вместо этого код создает новые объекты, выделяя память, а потом просто прекращает пользоваться объектами, в которых больше не нуждается. При необходимости среда времени исполнения Dalvik удаляет такие ненужные объекты и архивирует память.

Читать »

ANDROIDLNPUT И ACCELEROMETERHANDLER

Добавлено Дата: 3 July, 2013 категория: Программирование игр под Android

Интерфейс Input, с помощью нескольких удобных методов предоставляет нам доступ к акселерометру, сенсорному экрану и клавиатуре в режиме опроса и режиме событий. Помещать весь код для реализации данного интерфейса в один файл немного неудобно, поэтому мы вынесем всю обработку событий ввода в отдельные обработчики. Реализация Input будет использовать данные обработчики, чтобы создавать видимость того, что именно она выполняет всю работу.

Читать »

Модуль StablePtr

Добавлено Дата: 4 June, 2012 категория: Haskell

содержит определения программных сущностей, используемых для работы со стабильными указателями, то есть такими, которые не уничтожаются автоматически сборщиком мусора, равно как и не меняют своего местоположения во время процесса сборки мусора (обычные указатели могут поменять своё местоположение во время сборки мусора). Такие стабильные указатели могут использоваться во внешних программах в качестве непрозрачных ссылок на значения языка Haskell.

Читать »

Модуль Weak

Добавлено Дата: 17 May, 2012 категория: Haskell

предоставляет программисту использовать так называемые слабые указатели, которые характеризуются тем, что они не обслуживаются  сборщиком мусора. Это значит, что существование слабого указателя на некоторый объект никак не влияет на жизненный цикл этого объекта. Однако сам по себе такой слабый указатель может быть использован для определения факта наличия объекта в памяти (или его отсутствия), и в случае  наличия — получения  значения  объекта.

Читать »

Управление памятью способы для JAVA

Добавлено Дата: 19 April, 2012 категория: Java

Хотя Java не позволяет явно уничтожать ненужные объекты, вы можете непосредственно вызвать сборщик мусора, используя метод gc класса Runtime. Класс Runtime также содержит метод runFinalization для вызова ожидающих блоков завершения (finalizers). Класс Runtime содержит два метода для вывода информации о состоянии памяти:

Читать »

Сборка мусора и метод finalize

Добавлено Дата: 12 April, 2012 категория: Java

Java выполняет всю сборку программного мусора автоматически и избавляет вас от необходимости явного освобождения объектов.

Проще говоря, это означает, что память, занимаемая неиспользуемым  объектом, может быть возвращена в систему. При этом никаких действий с вашей стороны не требуется — в сущности, вы ничего и не сможете сделать. Объект является “неиспользуемым”,  когда на него отсутствуют ссылки в статических данных и в любой из переменных

Читать »

Применение графов. Сбор мусора в Java

Добавлено Дата: 10 December, 2011 категория: Java, Структуры данных и алгоритмы

В некоторых языках типа С и С++ участки памяти, используемые объектами, должны определяться и освобождаться самим программистом. Эта обязанность зачастую недооценивается начинающими разработчиками, что в результате приводит к проблемам, а иногда становится головной болью и для опытных программистов. Поэтому создатели других языков (типа Java) перекладывают ответственность за управление

Читать »

Finalize в Java

Добавлено Дата: 10 June, 2011 категория: Java

 

Вообще говоря, мы не в состоянии заметить, когда именно происходит фактическое удаление "осиротевших" объектов, — процесс, что называется, просто "идет". Но в составе любого класса может быть реализован метод finalize, который вызывается сборщиком мусора непосредственно перед удалением объекта класса. Метод предоставляет программисту шанс привести объект в "чистое" состояние, освободив все используемые им ресурсы, не относящиеся к памяти. Метод finalize объявлен в классе Object.

Читать »

Простая модель сборки мусора Java

Добавлено Дата: 8 June, 2011 категория: Java

 

   Процесс сборки мусора станет более очевиден, если для его иллюстрации ис пользовать простую и наглядную модель, — позже мы таковую и рассмотрим. Реальные  алгоритмы  и программы сборки  мусора,  разумеется,   намного более сложны и изощренны. Процесс сборки мусора можно логически разделить на две фазы — выявление живых (live) и мертвых (dead) объектов и удаление последних с высвобождением отведенной для них памяти. К живым объектам относятся те, которые достижимы (reachable) из какого-либо участка выполняемого кода, — они все еще могут быть востребованы в процессе выполнения программы. Мертвые же, не используемые, объекты — это мусор, подлежащий удалению.

Читать »

Другие функции класса Runtime

Добавлено Дата: 2 June, 2011 категория: Java

 

   Класс Runtime поддерживает функции, относящиеся к пяти различным категориям:

 

* взаимодействие с процессом сборки мусора;

 

* выполнение внешних программ;

 

* закрытие системы;

Читать »

Сборка мусора Java механизм работы

Добавлено Дата: 21 May, 2011 категория: Java

 

  Объекты создаются посредством оператора new, но в языке Java нет соответствующего оператора, подобного delete в C++, который предназначен для принудительного удаления ранее созданных объектов и освобождения занимаемой ими памяти. Закончив работу с объектом, вы просто перестаете на него ссылаться — достаточно присвоить переменной ссылку на другой объект или значение null либо прекратить выполнение метода, чтобы его локальные переменные завершили свое существование естественным образом. Объекты, ссылки на которые отсутствуют, принято называть мусором (garbage), а процесс отыскания и уничтожения таких объектов — сборкой мусора (garbage collection).

Читать »

Состояния достижимости и объекты-ссылки Java

Добавлено Дата: 19 May, 2011 категория: Java

 

 Объект может быть утилизирован сборщиком мусора только в том случае, если ссылки на него отсутствуют, но иногда желательно, чтобы в сферу влияния процесса попали и такие объекты, которые обладают ссылками определенного вида. Предположим, например, что перед нами поставлена задача создания Web-броузера. Вполне закономерна ситуация, когда какие-то изображения, принадлежащие Web-странице, уже просмотрены пользователем, но в данный момент в окне броузера не видны. Если объем памяти ограничен, мы могли бы освободить некоторую ее часть, сохранив изображения на диске или просто удалив их из памяти, так как позже при необходимости их нетрудно заново затребовать и восстановить на экране. Но поскольку объекты, представляющие изображения, адресуются из кода (и, следовательно, достижимы), они не могут быть удалены. Было бы неплохо иметь ссылку на объект, которая, будучи единственной, не закрепляла бы за объектом статус достижимого. Этой цели служат специальные объекты-ссылки (reference objects).

Читать »

Взаимодействие со сборщиком мусора Java

Добавлено Дата: 18 May, 2011 категория: Java

  

  Хотя язык как таковой не предоставляет средств избавления от нежелательных объектов, существует возможность явного вызова процесса сборки мусора.  Класс Runtime совместно с некоторыми удобными методами класса System позволяет активизировать сборщик мусора, провоцировать выполнение процедур  finalize и запрашивать данные о текущем состоянии памяти, public void gc()

Читать »