关于内存:将 json 数据存储在服务上还是在需要时随时获取?
Concerning memory: Store a json data on a service or get it whenever you need?
我有一个 Ionic/Angular 测验应用程序,它使用 .json 文件提供一系列问题。
在游戏开始之前,我会回答这些问题并执行应用程序固有的逻辑。比如随机化问题等等
用户一次只能看到一个问题。
我正在使用带有 id 参数(问题 id)的组件。
{
path: `question:id`,
loadChildren: () => import('path.to.module').then( m => m.Module)
},
因此,当用户转到下一个问题时,我会获取 ID 并将新问题显示给用户。
我的疑惑是:在内存方面,因为这个json比较大。我想知道获取此文件一次并将其存储在服务上或每次加载问题页面组件时获取它并执行“魔术”是否更好。
顺便说一句,请不要担心随机过程背后的逻辑等。
我在这里做作业 :D Thnx
就内存而言,它可能并不重要,因为浏览器会在第一次请求后立即缓存该 .json
文件,并且它很可能会在会话期间驻留在那里 - 制作文件加载时间更快。
这里关注的是将.json
文件反序列化为对象的时间。您可以每次加载、反序列化和提取一个问题,但是反序列化一个大对象非常耗时,我建议只在应用程序启动时执行一次 运行 时间。
考虑一下,无论何时反序列化 .json
文件,总内存消耗仍然相同,因为文件大小不变。
另一个因素是 ,这可能是一个考虑因素,具体取决于您要部署到的 SOE。
我有一个 Ionic/Angular 测验应用程序,它使用 .json 文件提供一系列问题。
在游戏开始之前,我会回答这些问题并执行应用程序固有的逻辑。比如随机化问题等等
用户一次只能看到一个问题。 我正在使用带有 id 参数(问题 id)的组件。
{
path: `question:id`,
loadChildren: () => import('path.to.module').then( m => m.Module)
},
因此,当用户转到下一个问题时,我会获取 ID 并将新问题显示给用户。
我的疑惑是:在内存方面,因为这个json比较大。我想知道获取此文件一次并将其存储在服务上或每次加载问题页面组件时获取它并执行“魔术”是否更好。
顺便说一句,请不要担心随机过程背后的逻辑等。 我在这里做作业 :D Thnx
就内存而言,它可能并不重要,因为浏览器会在第一次请求后立即缓存该 .json
文件,并且它很可能会在会话期间驻留在那里 - 制作文件加载时间更快。
这里关注的是将.json
文件反序列化为对象的时间。您可以每次加载、反序列化和提取一个问题,但是反序列化一个大对象非常耗时,我建议只在应用程序启动时执行一次 运行 时间。
考虑一下,无论何时反序列化 .json
文件,总内存消耗仍然相同,因为文件大小不变。
另一个因素是