Привет всем!
Ранее поделился видео, где была видна скорость загрузки истории переписки. Задержка загрузки составляла примерно пол секунды. Достаточно много 😒
Также проблемные моменты в видео были видны (передерги поля ввода при открытии чата). Можете посмотреть еще раз:
На выходных поработал над этим. Было немного интересно это исправить. У меня есть понимание как можно "ускорить" подгрузку данных, но как оно будет работать на самом деле - это нужно звать блогера-Конора или провести свой эксперимент.
В первую очередь добавил возможность отображения миниатюр медиа в истории переписки:
Да, не божественно, не круто, но как заглушка эта часть готова. Наличие медиа отображается в окне чатов 😀
А вот и улучшенный интерфейс:
Убрал артефакты в поле ввода: оно меняет размер, опускает текст вниз и расширяется при открытии чата
Немного доработал анимацию кнопок в правом нижнем углу окна переписки
Научил отображать историю переписки и подгружать черновики максимально быстро
Как работает быстрая подгрузка черновиков?
В первое время я полагал, что из SQLite данные будут прилетать моментально. По этой причине перенес логику получения готовых данных из базы данных. То есть SQLite возвращает все отсортировано и как надо, мне только нужно вывести на экран.
Как результат - заметные задержки. Как ни пытался ускорить, задержки есть. Похоже просто так брать и подгружать данные из БД - это неправильный путь.
Как реализовал у себя: при открытии списка чатов происходит подгрузка историй переписки. Делается это в фоне и в то время, когда пользователь видит окно чатов. По сути, при открытии чатов происходит визуализация предзагруженных данных. Для пользователя это выглядит как моментальное открытие чата. Все довольны :)
--
По вечерам разрабатываю сервис для общения. Кому интересено, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.