Android/iPhone 应用程序...使用基于互联网的 API 与本地 API

标签 android ios performance optimization memory

我正在为 Android 开发图表应用程序。我发现了一些可以在我的项目中导入以绘制图表的 API。另一个不错的选择是使用 Google Charts API,它似乎比其他 API 更易于使用且更可靠。

我的问题是,如果我使用 Google API,大部分处理是在 Google 服务器上完成的,但响应可能会有一些延迟,因此在显示图表时可能会有延迟。另一方面,如果我将一个 API 导入到我的项目中,它会执行得更快,但可能会消耗更多内存。那么我应该选择哪一个,在选择基于互联网的 Google API 还是可以导入我的项目的本地 API 时应该考虑哪些因素

最佳答案

最终由您决定,但我会为下面的每一项提供一个小的赞成/反对列表(不全面)。

Local Api:
    Pro:
      -No network latency
    Con:
      -Additional memory consumption (to hold the library).

Remote Api:
    Pro:
      -No additional dependencies to external libraries.
      -Less memory consumption.
    Con:
      -Potential server downtime (Planned and unplanned).
      -Additional latency for creating charts.

显然,由于您的目标是移动平台,因此还需要考虑一些其他事项。 Remote Api 有时可能不可用,这可能是由于服务器停机,或者只是缺少无线网络连接。因此,您可能会被推向 Local Api。另一方面,您可能希望内存占用尽可能小,因为您使用的是有限的内存设备,这可能建议您使用 Remote Api。

同样,这完全取决于(或您的业务部门)认为什么对您的最重要>(或您的业务部门的)应用。

关于Android/iPhone 应用程序...使用基于互联网的 API 与本地 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6874318/

相关文章:

android - SmackInitialization : Could not determine Smack version

java - 如何以编程方式设置android :background ="?android:attr/selectableItemBackground"?

ios - 本地化 LaunchScreen.xib

ios - 在 iOS 11.3 中使用 PWA 打开 PDF 时出现问题

java - Java中如何判断字符串是否为ASCII码

Android webView 不显示所有内容

android - OkHttp拦截器使用没有依赖循环的OkHttpClient

ios - 如何设置 UITableView 右侧 sectionIndex 的字体大小?

java - PoolingClientConnectionManager 性能问题

c - GObject g_type_init 和 g_object_new 耗时数百毫秒