Base64或UIImage。

时间:2018-11-11 13:32:14

标签: ios swift performance

基于其他问题,<ion-item *ngFor = "let item of test"class="col1" col-12 style=" border: none; color:black;text-align: center;"> {{item.description}} </ion-item> 图片let item = 0; for(let i = 0; i < this.test['0']['data'].sidelined['data'].length; i++){ let item = this.test['0']['data'].sidelined['data'][i]; this.item = item; console.log(this.item.description); } 大约是实际String的 +37%

因此请考虑这种情况。

API 客户响应,其中based64Data

该对象包含许多属性..etc,但重要的是我发现的Array中的Object返回了Key和{{1 }}由ImageString64

所需的解决方案:

  

我希望以最快的速度但对内存友好的方式来maxWidth这些图像

注意事项:

  

我确实知道如何maxHeight他们,问题是在哪里以及为什么这样做   甚至重要吗?

我拥有的选项:300x300

1- decode响应encode

2-将那些//You can add yours if you have better one与他们的Request传递为普通callback,然后在Objects内对其进行解码。

有关响应的更多常规信息:

1-作为响应的对象的最大数组限制在6-9之间。

2-每个响应对象都有17个ImageString64

1 个答案:

答案 0 :(得分:0)

如果您需要使用base64解码图像,则不会在请求回调或视图控制器中对其进行转换。

您应该具有一种内部存储库,您的视图控制器可以从中获取Object实例。该存储库包含原始数据以及base64字符串。

如果从存储库访问对象实例之一,则应将base64字符串转换为UIImage实例。视图控制器应该只看到UIImage

要获得良好的转换和显示数据性能,应在尝试显示之前进行转换,但如上所述,只有在需要时才进行转换。

如果要以UITableViewUICollectionView显示数据,则应使用预取协议UICollectionViewDataSourcePrefetchinghttps://developer.apple.com/documentation/uikit/uicollectionviewdatasourceprefetching/prefetching_collection_view_data)或UITableViewDataSourcePrefetching({{ 3}})。

显示图片的用例是什么?