我正在编写一个移动应用程序(Android),它允许用户使用具有 1 像素精度的单点触控设备“写入”画布。该应用程序将在大约标准 8 1/2" x 11" 尺寸的平板设备上运行。我的策略是将“文本”存储为矢量数据,因为输入设备的每个笔划本质上都是一个矢量,由起点和终点以及一些有助于定义形状的中间点组成矢量(由触摸屏/操作系统在触摸移动时生成)。这应该允许我跟踪笔画的放置顺序(以支持撤消等),并且足够灵活以允许重新调整此文本的大小等,就像任何其他矢量图形一样。
但是,使用高度精确的输入设备和大屏幕进行一些非常粗略的信封背面计算,这样您就可以一对一地模拟标准纸质记事本,这意味着每整页您将有大约 1,700 个笔划文本。在最坏的情况下,计算每个笔划最多可以由约 20-30 个单独的点组成(笔划的每个像素左右一个点),这意味着每页约 50,000 个数据点......对于 SQLite 来说太大了/Android 在重新加载页面并重新创建矢量笔划时处理任何对可靠性的期望(我不得不想象从 SQLite 数据库中提取 50,000 多个结果将超过 CursorWindow的 1Mb 限制)
我知道我可以将数据检索分解为多个查询,或者可以修改笔画数据,这样我只添加一个中间点来帮助定义笔画矢量形状,如果它从开始、结束或其他中间像素超过 X 个像素,但我想知道我是否需要从头开始重新考虑这个策略......
有关如何以更有效的方式解决此问题的任何建议?
谢谢!
保罗