Pull to refresh

Сравнение Serializable и Parcelable. В секундах

Reading time 1 min
Views 27K
В этом посте будут цифры, которые так хотел узнать пользователь gubber, публикуя статью-вопрос Serializable или Parcelable?
График тестов выглядит следующим образом


По оси X — количество объектов, пересылаемых в новый Activity; по оси Y, очевидно, время в секундах.
Что использовалось:
Эмулятор Android 4.2
Исходники

Как проводились тесты
В коде ставился нужный тип объекта. Программа запускалась и исполнялся «прогревочный» тест для 0 элементов. Далее, тестировались наборы элементов (5, 10, 20, 50, 100, 200, 400, 800, 1000, 1200). 1200 всегда ложился (Transaction is too large). При этом, записывалось худшее время преобразования данных.

Об объектах
Объекты достаточно простые, состоящие из 5 переменных класса. Четыре переменных являются базовым типом (String, int, float, bool), одна из переменных была списком строк. Все данные генерировались случайным образом.
Для тестирования Serializable объекты помещались в ArrayList, а для тестирования Parcelable — в простой массив.

Заключение
На основе тестов сделано заключение, что на таких данных Parcelable работает быстрее, чем Serializable в среднем в 16 раз.
Техника Serializable удобна, но может использоваться только для небольшого количества данных.
Tags:
Hubs:
+29
Comments 19
Comments Comments 19

Articles