【问题标题】:ZipResourceFile getInputStream slowZipResourceFile getInputStream 慢
【发布时间】:2013-11-12 09:16:51
【问题描述】:

我正在尝试使用以下行从 obb 文件中获取资产:

ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile( aContext, 1, 0 );
InputStream is = expansionFile.getInputStream( aFileName );
Bitmap bitmap = BitmapFactory.decodeStream( is, outPadding, aOptions );
is.close();

这些行用于获取 .png 文件,但与直接从 Assets 目录获取 .png 相比,速度非常慢。

有人对此有想法或解决方案吗?

我找到了问题的答案。

这一行使执行变慢:

ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile( aContext, 1, 0 );

之前执行了这么多次。

【问题讨论】:

  • 你有这方面的最新消息吗?
  • 是的.. 它很慢,因为代码执行得太频繁了。 getAPKExpansionZipFile 工作正常。
  • 所以解决方案是在类字段或静态字段中缓存expansionFile...不要每次读取文件时都运行它

标签: android bitmap inputstream bitmapfactory apk-expansion-files


【解决方案1】:

我找到了问题的答案。

这一行使执行变慢:

ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile( aContext, 1, 0 );

之前已经执行过很多次了。在我将该行从被调用中删除后,一切都按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多