2010-11-29 5 views
0

У меня есть приложение Android на рынке, которое соединяет и отправляет запросы POST и GET в REST API, а затем сохраняет результаты в базе данных, которые затем являются запросами и отображаются в надлежащим образом в приложении.Портирование кода подключения REST API к Android NDK в C++

Я заинтересован в ускорении приложения и заметил довольно много отставания от времени получения данных от api и данных, готовых к использованию. Я бы хотел выяснить, как и как я могу написать аналогичный код в C++, используя NDK для подключения к REST API, обрабатывать результаты и хранить в БД или вызывать ошибку. У меня нет предыдущего опыта работы на C++, и я должен знать сначала, могу ли я получить доступ к тому же БД на C++, что и Java, во-вторых, если есть какие-либо другие оговорки, о которых я должен знать?

Также я должен спросить - стоит ли это делать? Отмечу ли я какую-либо разницу?

Любые ссылки на похожий код или обзор того, как я должен выглядеть, чтобы начать работу на C++, будут очень признательны.

ответ

2

Я делаю EXACT то же самое, и поверьте мне: если у вас нет предыдущего опыта C++, это может быть слишком дорогостоящим для мало пользы.

В моем случае, после некоторого профилирования, я изменил порядок вещей и имел начальный прыжок в производительности только путем сброса DOM и использования SAX. Все остальное только делает вещи немного лучше, например, обрабатывает ответ, пока пакеты все еще передаются (т. Е. Не дожидаются полного ответа, чтобы начать обработку), и мультиплексирование запросов в одном потоке вместо того, чтобы начинать новый поток для каждого.

Что вы должны искать в Google - это сокеты POSIX, коды HTTP и REST, если вы хотите сделать все это вручную. Лучшим вариантом может быть использование CURL или что-то подобное для части Socket/HTTP. Я сделал все это сам, но только потому, что уже сделал это несколько раз.

Смежные вопросы