У меня есть служба WCF REST, созданная на C #, и она возвращает изображение как часть интенсивной работы процессора. Клиент работает на Android (Java). По умолчанию он возвращает текстовый объект JSON, который выглядит примерно так:
{ "d", [9,0,77,12,11, ...]}
Это байты изображения. Хорошо. Однако все решения для декодирования этого JSON невыносимо медленны. Я пробовал Gson, Jackson и встроенный класс Android JSONObject. Понятия не имею, почему они такие медленные.
В качестве альтернативного решения моя служба REST возвращает GUID, а затем этот GUID может использоваться клиентом Android для перехода по обычному URL-адресу, который подает изображение в виде обычного двоичного потока, через контроллер MVC.
Это работает хорошо, быстро и довольно просто в обращении на стороне Android. Тем не менее, это похоже на некоторую путаницу и своего рода нарушение принципов дизайна REST.
Я что-то здесь упускаю? Есть ли лучший способ сделать это?