【发布时间】:2016-05-18 12:50:07
【问题描述】:
我为我工作的公司提供了一个 xamarin 表单项目。我有 6000 多张图片以两种方式使用:缩略图页面和全尺寸页面。我有缩略图和全尺寸图像。缩略图页面一次显示 12 个产品,但它位于轮播页面中,因此轮播中最多可以有 18 个内容页面。
我尝试了三种保存/访问图像的方法:
- 将它们作为 bundle/android 资源包括在内。这效果最好,但构建项目需要很长时间,在 android 上意味着我必须使用扩展文件。
- 在下载产品列表时包含来自数据库的二进制图像。导致应用在下载时随机崩溃。
- 从 Web 下载所有文件。这可行,但在 Android 和 iOS 上,缩略图屏幕都会变慢,并且有一半的时间会在 Android 上崩溃。
有没有人不得不做类似的事情,如果是,你决定走什么路?不幸的是,这个应用程序必须可以离线使用,所以我需要本地图像。我有点时间紧迫,所以任何帮助都将不胜感激!
【问题讨论】:
-
如果离线工作是硬性要求,那么使用 Android
.obbs 是必需的,除非您要强制应用程序的首次使用来下载和缓存这些图像。对于应用程序构建时间和测试,对于游戏中的媒体元素,我们创建自定义构建脚本以将“所有”文件包含在完整版本构建中,因为在您的开发中保留这么多文件.csproj对您的调试周期来说是纯粹的死亡。创建一些媒体占位符并在调试/测试周期中使用它们,因为作为开发人员,我没有理由需要实际查看和滚动浏览 6k 目录图像。 -
@SushiHangover 谢谢你的回复!我想走 obb 路径,但找不到一个很好的教程如何使用 Xamarin 表单来做到这一点。在这方面,你有或你看到有什么可以帮助我的吗?此外,如果您有一个示例构建脚本,我可以查看这将对我有很大帮助。再次感谢您!
-
就您的 #2/3 问题而言,我们需要查看一些代码和堆栈跟踪来帮助解决应用程序崩溃问题,因为下载和/或显示图像的实际过程不会是原因,也不是数字图像,而是您对这些例程的实现。
-
我们没有将
.obbs 与 Xammie Forms 一起使用,但在这种情况下我想不出任何“特殊”的东西,资源就是资源......我看看我是否可以发布一个我们用于构建 apk、obb 和 ipa 的脚本很少。我们处于 1GB 的“外部”媒体范围内,主要是图像,但也有很多声音剪辑、二进制着色器、序列化关卡等……还有…… -
@SushiHangover 再次感谢您。我现在坐在 500-600 MB 的范围内。我从来没有实现过 obb,所以我不能 100% 确定它是如何工作的,以及我将如何从中访问我的图像。谢谢!
标签: android ios image xamarin xamarin-forms