Много xml активностей java в kotlin
Возможно кто-то подскажет, как это решить...
Все знают, что переключаться между активностями java и xml файлами, например
layout.setOnClickListener {
val intent = Intent(this, layout_menu::class.java)
startActivity(intent)
}
Но вот что делать, если таких активностей много layout.xml например 1000 или 10000, что делать в таком случае?
Моё решение, как вариант подключать через сервер, не могу найти... Может кто знает как?
Причина: Эти активности пытался создать много, но в итоге android studio начал притормаживать.
Ответы (1 шт):
Вообще 10к активностей и даже 1к это оч много. Прям совсем дофига если быть точным (цензура не позволяет более точно указать кол-во). Я бы вам советовал:
- Использовать фрагменты - они легче чем активность и по механизму почти ничем не отличаются. Одна активность будет как контейнер и будете фрагменты менять когда вам нужно. Вот есть туториалы по фрагментам: 1 и 2.
- Попытайтесь вычленить похожие данные - если у вас там приблизительно одинаковые данные на ваших экранах то попытайтесь это оптимизировать. Внедрить динамическую обработку изменения данных и передачу данных.
Если у вас тормозит студия, на ПК у которого минимум 8гб озу то что уже говорить за обычные мобильные телефоны у которых ресурсов намного меньше. Через сервер я ооочень сильно сомневаюсь, разве что сервер вам будет возвращать идентификатор активности на которую нужно перейти. Но будет два нюанса - поддерживать такое будет очень трудоемко и так никто не делает :) Проведите оптимизационную работу, и судя по тому что у вас 1к разметок то очень большую работу. Так не делает никто :) Нужно чтобы все было максимально сжато и компактно :)
Так же небольшое уточнение:
- файлы с расширением
.javaили.ktэто файлы которые представляют собой объекты класса android.app.Activity, которая содержит базовую функциональность для всех activity. - файлы c расширением
.xmlэто файлы разметки (и не только) которые отвечают за внешнее оформление экрана пользователя
Используя приведенное выше уточнение я бы вам советовал немного отредактировать вопрос