Мне нужно знать, сколько объектов какого-либо типа существует в моей системе в любое время. Стандартный метод со статической переменной и приращением/декрементом в конструкторе/distructor не работает, потому что пропустил метод Object.finalize.Как я могу подсчитать объекты какого-либо типа в J2me
ответ
В качестве ответа на брутфорс вы можете создавать все свои объекты с помощью специальной фабрики Singleton, где вы можете увеличивать счет, когда создается новый объект , и удалите их с помощью этой фабрики до:
Object newOne = ObjectsFactory.getInstance().getNewObject(); // in this method count++
...
...
// we don`t need newOne anyMore
ObjectsFactory.getInstance().releaseObject(newOne); // here count--
newOne = null; // let gc do its work.
Этот подход не дает вам точно результатов, но что-то округлое.
В стандартной Java вы можете использовать WeakReference
, но это невозможно в J2ME. Кроме того, нет стандартного API для перечисления всех объектов. «Самый простой» способ сделать это на Java - это написать сборщик мусора.
Итак, ваш единственный выбор - запустить код в Java IDE, который может выполнять профилирование во время выполнения или вручную уничтожать ваши объекты, поэтому вы можете их подсчитать.
Если вам это нужно во время работы и вы хотите обработать его программно как часть вашего приложения, это довольно сложно - иначе вы могли бы create heapdumps и проанализировать их. то вы узнаете, сколько экземпляров тех объектов, которые в настоящее время используются (например, в куче)
Вы не можете использовать какой-либо из этих материалов отражения, потому что это не поддержка J2me.
Единственная ставка будет заключаться в том, чтобы включить профилировщик под WTK/bin/prefs. там есть монитор памяти.
Профайлер Не работает в Samsung SDK – Pirks
Есть ли причина, по которой вам нужно использовать SDK Samsung? Вы можете профилировать свое приложение через стандартный WTK, вы должны получить аналогичные результаты. Очевидно, что не на 100% совместим с точными данными времени/обработки, но я бы не стал доверять эмулятору никоим образом. – drubin
- 1. как я могу подсчитать количество определенного типа файла в каталоге
- 2. Как я могу подсчитать объекты после сегментации K-значений
- 3. Как я могу подсчитать количество
- 4. Как подсчитать объекты в PowerShell?
- 5. Как я могу кодировать Android с J2ME?
- 6. Как разобрать вложенные объекты JSON в J2ME
- 7. Как я могу подсчитать пробеги в последовательности?
- 8. Могу ли я использовать HashMaps в J2ME?
- 9. Как подсчитать объекты массива JavaScript?
- 10. Подсчитать дни между двумя датами - J2ME
- 11. Как удалить/подсчитать объекты в ведро s3?
- 12. Как подсчитать объекты данных в Java
- 13. Пытается подсчитать объекты в jQuery
- 14. Как я могу подсчитать конкретные слова bigram?
- 15. Как я могу подсчитать символы UITextView?
- 16. Как я могу подсчитать количество единиц?
- 17. Как я могу подсчитать количество детей?
- 18. Как я могу подсчитать объект с условием?
- 19. Как я могу подсчитать столбец со значениями
- 20. Как я могу подсчитать конкретную переменную сеанса?
- 21. Как я могу подсчитать значения (кроме дубликатов)?
- 22. Как я могу подсчитать и выбрать одновременно?
- 23. Как я могу подсчитать повторяющиеся вхождения
- 24. Three.js: Как подсчитать объекты, добавленные в сцену
- 25. Как подсчитать изменяемые объекты массива в iphone?
- 26. Как я могу показать тикер J2ME в верхней части экрана?
- 27. Как я могу переопределить класс в польских двоичных файлах J2ME?
- 28. В J2ME, как я могу определить, включено ли летнее время?
- 29. Как я могу вернуть объекты в Django?
- 30. Как я могу прокручивать объекты в Swift?
Просто интересно, почему это необходимо ... для оптимизации целей? – Fostah
На мобильной платформе, которую я использую GarbageCollector, работает очень нестабильно, и я подозреваю, что утечка системных объектов (SocketConnection) – Pirks