illuzor, под запущенным приложенияем имелось в виду запуск приложения и выход на home screen. Ну, в общем я сейчас проверил: телеграм действительно не присылает пуши, если приложение отсутствует в фоне, а вот gmail таки делает это, вероятно, потому что какой-то гугловский сервис всегда работает в фоне при работае телефона
Денис Загаевский, ну вот насчёт gmail'а я предполагал, что может быть что-то такое, а вот насчёт того же телеграма, насколько я помню, он даже, будучи незапущенным, слал пуши о прмшедших сообщениях, но есть вероятность, что мне показалось, что он действительно не был запущен :)
Если честно не совсем понял, как его применить для данной цели
Мне ведь нужен следующий интерфейс void* allocate(int size), void free(void* p, int size) (понятно, что в Java нет void*, но всё же, для понятности я его добавил).
Так вот после получения указателя мне нужно вызвать placement new как-то по нему, это выглядит примерно так:
Аллокация:
void* mem = allocator.allocate(sizeof(Body));
Body* b = new (mem) Body();
Деаллокация: allocator.free(b, sizeof(Body));
Может быть, используя JNI можно как-то скормить java класс, чтобы там внутри выделилась память, вызвался placement new на этот участок новой памяти с переданным классом, и вернулась бы ссылка на новый объект уже в java код?
acwartz, например, сервера Battlefield, Skyforge (именно механика) были написаны на Java. Совершенно очевидно, что, когда за секунду создаётся по 10к объектов, через new это не сделать. Но при этом данные сервера неплохо функционируют, значит всё-таки было найдено какое-то решение
Всё же с предзаготовленными масками и без сдвига оплучается на 7-8% быстрее