Comments 26
Передвигай сюда: habrahabr.ru/qa/add/
Serializable для небольшого количества данных.
Parcelable для больших массивов (данных)
Parcelable для больших массивов (данных)
Пример:
Serializable — передать один элемент в другой Activity, чтобы реализовать его редактирование.
Parcelable — вы распарсили список данных с API, и вам нужно передать его в другой Actiivty
Serializable — передать один элемент в другой Activity, чтобы реализовать его редактирование.
Parcelable — вы распарсили список данных с API, и вам нужно передать его в другой Actiivty
Я вижу существенное усложнение кода, при использовании Parcelable, особенно в случае с объектами имеющими разнородные данные внутри. А если объекты у меня имеют дочерние списки других объектов, то всё становится ещё более запутанным.
Вот мне и интересно. Кто либо проводил сравнение передачи больших массивов данных с использованием этих двух интерфейсов?
Есть ли какие либо цифры для сравнения? Чтобы можно было принять решение в одну или другую пользу.
Вот мне и интересно. Кто либо проводил сравнение передачи больших массивов данных с использованием этих двух интерфейсов?
Есть ли какие либо цифры для сравнения? Чтобы можно было принять решение в одну или другую пользу.
Приходится верить на слово.
Почему бы вам не написать бенчмарк на этот случай?
Почему бы вам не написать бенчмарк на этот случай?
Так об этом и был вопрос, кто-то занимался этим вопросом или нет?
не будешь же на каждый свой шаг писать сравнительные тесты, кто-то, как правило, уже сделал сравнение.
Особенно это касается разработчиков. Они же говоря быстрее/медленнее стараются показать на цифрах (может и с некоторым мухлежом), что они лучше. А тут я не нашёл ни чего кроме «поверьте нам на слово».
не будешь же на каждый свой шаг писать сравнительные тесты, кто-то, как правило, уже сделал сравнение.
Особенно это касается разработчиков. Они же говоря быстрее/медленнее стараются показать на цифрах (может и с некоторым мухлежом), что они лучше. А тут я не нашёл ни чего кроме «поверьте нам на слово».
On Android don't persist using Java Object serialization ever. EVER! Always use an easily transformable and future-proof format like JSON.— Jake Wharton (@JakeWharton) 17 марта 2013 г.
Parcelable работает быстрее, намного, именно поэтому его и добавили в андроид и повсеместно используют при обмене информацией между процессами. Parcelable следует использовать для кратковременного хранения данных, так как андроид не гарантирует обратную совместимость и алгоритм упаковки может поменятся. Поэтому, например. нельзя использовать Parcelable, чтобы обмениться данными между анроид устройствами или, чтобы сохранять посылки в базе, чтобы распаковать их когда-нибуть в будущем.
Что касатся Java serialization в андроиде она такая же как и в обычной Java. Можно использовать, но медленная и ИМХО какая-то неочевидная… лучше xml, json или sqlite.
Что касатся Java serialization в андроиде она такая же как и в обычной Java. Можно использовать, но медленная и ИМХО какая-то неочевидная… лучше xml, json или sqlite.
Я читал, что все пишут «быстрее», а вот реальных тестов не видел.
Вы делали тест или видели результаты тестов сравнения?
Если видели результаты ссылку можно?
Вы делали тест или видели результаты тестов сравнения?
Если видели результаты ссылку можно?
так загляните в исходники, и вы поймете почему не нужны тесты.
Вот это не ответ. Если это даст прирост в производительности в 20-30% при передаче данных из одной части приложения в другую, то я не вижу смысла городить такой огород из-за столь малого прироста.
Думать об огороде стоит, как мне кажется при >100% приросте
Думать об огороде стоит, как мне кажется при >100% приросте
AIDL использует Parceble, тут вообще без вариантов, Serializable тут не пропихнешь. Нельзя просто так взять и использовать Serializable везде вместо Parceble. Это разные вещи для разных целей.
Пришлось потратить пару/тройку часов, нахватать минусов, не понятно за что.
Чтобы провести тесты и получить результат — при старте новой Activity с передачей 1000 объектов с 4 полями, прирост производительности в 4 раза Parcelable по отношению к Serializable.
Вот, чего я спрашивал. Но ни кто мне этого сказать так и не смог.
Чтобы провести тесты и получить результат — при старте новой Activity с передачей 1000 объектов с 4 полями, прирост производительности в 4 раза Parcelable по отношению к Serializable.
Вот, чего я спрашивал. Но ни кто мне этого сказать так и не смог.
Cool story, bro :)
Посчитай насколько океан больше моря, все говорят, но никто не проверял.
Посчитай насколько океан больше моря, все говорят, но никто не проверял.
Напишите статью на эту тему с подробным сравнением — получите плюсов :)
не понятно за что.
Вам в первом же комментарии указали, за что вы нахватали минусов. Если вы еще не поняли, что создали пост вместо Q&A, то это ваши проблемы и именно за это вас минусуют.
Я размываю «спицифику сайта»?
т.е. я задал вопрос по непрофильной теме?
Задал вопрос, на который ответ очевиден? (Заметьте ответа мне ни кто не дал)
Я не вижу большой разницы с вот с этим постом.
так же мне не понятны минусы к мои комментария — это больше похоже на «добивание» (мне пофигу, но смахивает на «сектантство»).
т.е. я задал вопрос по непрофильной теме?
Задал вопрос, на который ответ очевиден? (Заметьте ответа мне ни кто не дал)
Я не вижу большой разницы с вот с этим постом.
так же мне не понятны минусы к мои комментария — это больше похоже на «добивание» (мне пофигу, но смахивает на «сектантство»).
Вы задали вопрос оформив его как «пост». Для вопросов есть отдельный раздел Q&A, на что вам и указали. Тематика самого вопроса тут не имеет ни какого значения. В такой ситуации минусовать пост вполне разумно, так как то что Вы написали является вопросом в Q&A, а уж никак не постом и минусованием люди высказывают Вам мнение, что пост не уместен и его необходимо убрать. Почему при этом люди минусуют комменты и карму — это уже ХЗ… такие у нас люди.
Мне Parcelable был не удобен тем, что с ним приходилось бы дублировать код на стороне сервера и клиента, т.к. с интерфейсом Serializable мне такого делать не надо было. Но, хорошо, что этот момент я выяснил сейчас, а не на более позднем этапе.
Sign up to leave a comment.
Serializable или Parcelable?