【问题标题】:Which is faster way to access files?哪种方式访问​​文件更快?
【发布时间】:2014-03-11 22:32:22
【问题描述】:

朋友

我很好奇哪种方法更快。

  • 如果我从项目的 Assets 文件夹中访问/读取文件?!!

  • 如果我从 SD 卡访问/读取文件??!!!

根据应用程序的性能,哪一种方法更好?

请任何人解释我的理由吗?

任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • 访问 Assets 文件夹会更快,因为这些数据在 RAM 中可用,其访问时间比闪存驱动器更快

标签: android android-sdcard android-file android-assets


【解决方案1】:

根据应用程序的性能,哪一种是最好的方法

当您将文件添加到 assets 文件夹时,整个应用程序的大小会增加,因此您将需要更多设备的 RAM 来执行应用程序。虽然应用反应更快,但它也需要更多内存才能运行。

但是,当您将该文件存储在 SD 卡上时,您将需要更少的 RAM 来加载您的应用程序。从 SD 卡获取文件会比第一个选项更降低您的性能,但差异很小。

【讨论】:

  • 但是由于资产文件夹是只读的。所以如果我想在运行时修改一些文件,我必须把那个文件放到 sdcard 中,然后只能修改它。在这种情况下肯定会影响性能。对于这种情况,你会说什么?
  • 如果您在资产中放置超过 1MB 的文件,那么它将不允许您这样做。在这种情况下,您必须将其存储到 sdcard 中,然后需要访问它。因此,如果文件大小接近 1MB,它会导致您的应用程序加载到内存中的速度会变慢,并且也会减慢您的应用程序的速度。
【解决方案2】:

我想在这里添加更多内容,您还需要考虑文件大小以防访问性能。参考This,放置在 Assets 文件夹中的文件超过 1Mb 将无法从您的应用程序中读取,将引发异常。因为文件在构建过程中被压缩,因此手机在手机上时需要资源来解压缩它们。
通常,当您的文件较小时,从资产文件夹读取肯定比从 sd 卡读取要快。但在我看来,如果您考虑文件大小和异常安全性,那么从 sd 卡读取它会更安全。它提高了整体系统性能,而不是一些在您眼中实际上看不到的微小时间差异。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    相关资源
    最近更新 更多