Skip to content

Commit 802d4ce

Browse files
author
Jay
committed
修复图片过多导致异常崩溃问题
1 parent 49e1af6 commit 802d4ce

File tree

4 files changed

+23
-45
lines changed

4 files changed

+23
-45
lines changed

daguerre/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
defaultConfig {
88
minSdkVersion 16
99
targetSdkVersion 27
10-
versionCode 7
11-
versionName "1.0.7"
10+
versionCode 8
11+
versionName "1.0.8"
1212
vectorDrawables.useSupportLibrary = true
1313
}
1414
buildTypes {

daguerre/src/main/java/com/jay/daguerre/internal/DaguerreActivity.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public class DaguerreActivity extends AppCompatActivity
7373
MIME_TYPE, BUCKET_DISPLAY_NAME
7474
};
7575

76-
private ArrayList<Media.Resource> mResources = new ArrayList<>();
76+
private ArrayList<Media.Resource> mResources = Media.getResourceStoreInstance().getResources();
7777
private ArrayList<Media.Album> mAlbums = new ArrayList<>();
7878
private RecyclerView mRecyclerView;
7979
private ResourceItemAdapter mAdapter;
@@ -297,7 +297,6 @@ public void onListItemClick(View itemView) {
297297
int adapterPosition = mRecyclerView.getChildViewHolder(itemView).getAdapterPosition();
298298
Intent intent = new Intent(this, PreviewResourceActivity.class);
299299
intent.putExtra("position", adapterPosition);
300-
intent.putExtra("images", mResources);
301300

302301
ActivityOptionsCompat options = ActivityOptionsCompat
303302
.makeSceneTransitionAnimation(this, itemView.findViewById(R.id.image), "element");
Lines changed: 19 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package com.jay.daguerre.internal;
22

3-
import android.os.Parcel;
4-
import android.os.Parcelable;
5-
import android.text.TextUtils;
6-
73
import com.jay.daguerre.MimeType;
84

95
import java.util.ArrayList;
@@ -12,7 +8,7 @@
128
* Created by jay on 2017/11/23 下午3:29
139
*/
1410
final class Media {
15-
static class Resource implements Parcelable {
11+
static class Resource{
1612
String id;
1713
String data = ""; //file path
1814
// long size;
@@ -51,41 +47,6 @@ public boolean isGif() {
5147
return mineType != null && mineType.equals(MimeType.GIF);
5248
}
5349

54-
@Override
55-
public int describeContents() {
56-
return 0;
57-
}
58-
59-
@Override
60-
public void writeToParcel(Parcel dest, int flags) {
61-
dest.writeString(this.id);
62-
dest.writeString(this.data);
63-
dest.writeString(this.displayName);
64-
dest.writeString(this.mineType);
65-
dest.writeString(this.bucketDisplayName);
66-
dest.writeByte(this.isChecked ? (byte) 1 : (byte) 0);
67-
}
68-
69-
protected Resource(Parcel in) {
70-
this.id = in.readString();
71-
this.data = in.readString();
72-
this.displayName = in.readString();
73-
this.mineType = in.readString();
74-
this.bucketDisplayName = in.readString();
75-
this.isChecked = in.readByte() != 0;
76-
}
77-
78-
public static final Creator<Resource> CREATOR = new Creator<Resource>() {
79-
@Override
80-
public Resource createFromParcel(Parcel source) {
81-
return new Resource(source);
82-
}
83-
84-
@Override
85-
public Resource[] newArray(int size) {
86-
return new Resource[size];
87-
}
88-
};
8950
}
9051

9152
static class Album {
@@ -94,4 +55,22 @@ static class Album {
9455
ArrayList<Resource> resources = new ArrayList<>();
9556
int resourceCount;
9657
}
58+
59+
static ResourceStore getResourceStoreInstance() {
60+
return ResourceStore.instance;
61+
}
62+
63+
static class ResourceStore{
64+
65+
private ArrayList<Media.Resource> mResources = new ArrayList<>();
66+
static ResourceStore instance = new ResourceStore();
67+
68+
private ResourceStore() {
69+
70+
}
71+
72+
ArrayList<Resource> getResources() {
73+
return mResources;
74+
}
75+
}
9776
}

daguerre/src/main/java/com/jay/daguerre/internal/PreviewResourceActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
2525
super.onCreate(savedInstanceState);
2626
Intent intent = getIntent();
2727
int position = intent.getIntExtra("position", 0);
28-
ArrayList<Media.Resource> images = getIntent().getParcelableArrayListExtra("images");
28+
ArrayList<Media.Resource> images = Media.getResourceStoreInstance().getResources();
2929

3030
setContentView(R.layout.daguerre_activity_preview_resource);
3131
Toolbar toolbar = findViewById(R.id.toolbar);

0 commit comments

Comments
 (0)