Можно также назвать ограничение внешнего ключа при помощи:
CONSTRAINT your_name_here FOREIGN KEY (question_exam_id) REFERENCES EXAMS (exam_id)
Я знаю, что это не прямой ответ на ваш вопрос, но дополнительные 30 КБ не кажутся мне такими уж плохими. Даже на EDGE загрузка займет всего 1-2 секунды. А памяти на Android мало, но не НАСТОЯТЕЛЬНО - 30 КБ - это всего лишь 1/10 одного процента доступного пространства памяти приложения.
Существуют ли другие облегченные альтернативы?
Я понимаю это как «использование буферов протокола», а не «использование буферов протокола с приложением Android». Прошу прощения, если вы уже используете буферы протоколов.
Этот сайт посвящен «сравнению производительности сериализации и других аспектов библиотек сериализации на JVM». Там вы найдете множество альтернатив.
Хотя на данный момент не упоминается объем памяти, занимаемый различными реализациями, я уверен, что это показатель, который будет интересен людям в вики.