回答編集履歴
2
コメント消し忘れ。
answer
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
imageview.clipsToBounds = true
|
22
22
|
cell.contentView.addSubview(imageview)
|
23
23
|
|
24
|
-
//リクエスト
|
24
|
+
//リクエスト
|
25
25
|
manager.requestImageForAsset(
|
26
26
|
asset,
|
27
27
|
targetSize: imageview.frame.size, //imageviewのサイズでリクエスト
|
1
ちっちゃいのください。
answer
CHANGED
@@ -4,4 +4,43 @@
|
|
4
4
|
|
5
5
|
Subviewに関しては、removeFromSuperviewでひっぺがして処分していますので、それと同じようにrequestImageForAsset()も処分してやって下さい。リクエストしたときにrequestIDを保存しておいて、cancelImageRequest(requestID)してやればいいと思います。
|
6
6
|
|
7
|
-
他の原因、もしくは、他にも原因があるかも知れませんが。
|
7
|
+
他の原因、もしくは、他にも原因があるかも知れませんが。
|
8
|
+
|
9
|
+
# ただのメモリ不足?
|
10
|
+
|
11
|
+
大きな画像を大量に読み込んでメモリ不足になっているのではないか?という推測。
|
12
|
+
小さいサイズでリクエストするようにします。(requestID関係は一旦削除していいかも)
|
13
|
+
|
14
|
+
```swift
|
15
|
+
override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
|
16
|
+
:
|
17
|
+
//imageviewにはcellのサイズを渡す
|
18
|
+
let imageview:UIImageView = UIImageView(frame: CGRectMake(1, 1, CGRectGetWidth(cell.frame)-2, CGRectGetHeight(cell.frame)-2))
|
19
|
+
//imageview.image = photo //ここでは設定しない
|
20
|
+
imageview.contentMode = .ScaleAspectFit //お好みで
|
21
|
+
imageview.clipsToBounds = true
|
22
|
+
cell.contentView.addSubview(imageview)
|
23
|
+
|
24
|
+
//リクエスト(& requestID保存)
|
25
|
+
manager.requestImageForAsset(
|
26
|
+
asset,
|
27
|
+
targetSize: imageview.frame.size, //imageviewのサイズでリクエスト
|
28
|
+
contentMode: .AspectFit, //imageviewに合わせる?
|
29
|
+
options: nil
|
30
|
+
) { (image, info) -> Void in
|
31
|
+
//imageviewにセット
|
32
|
+
imageview.image = image //読み込んだ画像をセット
|
33
|
+
let degraded = (info![PHImageResultIsDegradedKey]?.boolValue)!
|
34
|
+
//print(image!.size, degraded)
|
35
|
+
if degraded {
|
36
|
+
//print(indexPath, "continue...")
|
37
|
+
}
|
38
|
+
else
|
39
|
+
{
|
40
|
+
//print(indexPath, "done")
|
41
|
+
}
|
42
|
+
}
|
43
|
+
|
44
|
+
return cell
|
45
|
+
}
|
46
|
+
```
|