Доля ARCore Renderable между действиями - PullRequest
0 голосов
/ 25 августа 2018

Как мне разделить Sceneform Renderable между действиями?

У меня есть приложение, в котором пользователь может прочитать информацию об объекте, который, вероятно, имеет визуализируемую ссылку.В действии A, если визуализируемый объект связан, щелчок по кнопке запускает действие B ARCore для просмотра и взаимодействия с визуализируемым объектом.

Я загружаю рендеринг перед асинхронно из базы данных в действии А по двум причинам.Во-первых, чтобы это было в памяти, а во-вторых, чтобы узнать, есть ли рендеринг, чтобы показать.

В настоящее время Сериализуемый Parcelable не реализован Sceneform Renderable , и из-за его сложности я не могу создать собственный класс, способный сделать это.

Моя попытка состоит в создании статического класса, в котором я сохраняю визуализируемый объект в памяти для действия A, startActivity B, а затем считываю Sceneform Renderable в действии B и удаляю запись изкласс статического магазина.Но вопрос в том, существуют ли более эффективные способы совместного использования Sceneform Renderable или любого другого пользовательского сложного объекта между действиями?

Я хочу избегать времени ожидания в действии B, гдерендеринг должен быть доступен мгновенно, потому что пользователь должен иметь возможность просматривать его, потому что он приходит из действия A.

1 Ответ

0 голосов
/ 30 августа 2018

Использование класса singelton со статическими методами put и get для доступа к частному хэш-файлу делает свое дело.

В методе put несериализуемые, неразборчивые ссылки должны быть помещены в hashmap с ключом, в моем случае, с идентификатором из базы данных. Тогда непериализуемые, неразборчивые ссылки внутри объекта, которым вы хотите поделиться между действиями, должны быть установлены в нуль.

Когда другое действие началось и ваш объект для совместного использования прибыл, используйте его ключ, чтобы извлечь не сериализуемые, не подлежащие обмену ссылки из хэш-карты и (пере) установить их ссылки как поля в объекте, которым вы хотите поделиться.

Теперь можно делиться пользовательскими объектами с не сериализуемыми, неразборчивыми полями между действиями.

...