Я пишу мобильное приложение (Android), которое позволит пользователю «писать» на холст, используя устройство с одним касанием и точностью до 1 пикселя. Приложение будет работать на планшетном ПК размером примерно 8 1/2 "x 11". Моя стратегия заключается в том, чтобы хранить «текст» в виде векторных данных, так как каждый штрих устройства ввода по существу будет вектором, состоящим из начальной и конечной точек, а также некоторого количества промежуточных точек, которые помогают определить форму вектор (генерируется сенсорным экраном / ОС при сенсорном движении). Это должно позволить мне отслеживать порядок, в котором были нанесены штрихи (для поддержки отмены и т. Д.), И быть достаточно гибким, чтобы можно было изменять размер текста и т. Д., Как и любая другая векторная графика.
Тем не менее, выполняя некоторые очень грубые расчеты конверта, с высокоточным устройством ввода и большим экраном, позволяющим эмулировать один за одним стандартный бумажный блокнот, то есть у вас будет ~ 1700 штрихов в полная страница текста. В худшем случае можно предположить, что каждый штрих может состоять из ~ 20-30 отдельных точек (точка для каждого пикселя или около того штриха), что означает ~ 50 000 точек данных на странице ... Слишком большой для SQLite / Android для обработки с любым ожиданием надежности при перезагрузке страницы и воссоздании векторных штрихов (я должен представить, что получение 50 000+ результатов из базы данных SQLite превысит ограничение CursorWindow в 1 МБ )
Я знаю, что могу разбить извлечение данных на несколько запросов или изменить данные обводки, добавив лишь промежуточную точку, чтобы помочь определить форму вектора обводки, если она больше, чем X пикселей от начала, конца или другой промежуточный пиксель, но мне интересно, если мне нужно переосмыслить эту стратегию с нуля ...
Любые предложения о том, как решить эту проблему более эффективным способом?
Спасибо!
Пол