@@ -74,12 +74,13 @@ let id = 0;
74
74
const requests = { } ;
75
75
76
76
const ImageLoader = {
77
- abort ( requestId : number ) {
78
- let image = requests [ `${ requestId } ` ] ;
77
+ clear ( requestId : number ) {
78
+ const image = requests [ `${ requestId } ` ] ;
79
79
if ( image ) {
80
80
image . onerror = null ;
81
81
image . onload = null ;
82
- image = null ;
82
+ ImageUriCache . remove ( image . src ) ;
83
+ image . src = '' ;
83
84
delete requests [ `${ requestId } ` ] ;
84
85
}
85
86
} ,
@@ -102,7 +103,7 @@ const ImageLoader = {
102
103
}
103
104
}
104
105
if ( complete ) {
105
- ImageLoader . abort ( requestId ) ;
106
+ ImageLoader . clear ( requestId ) ;
106
107
clearInterval ( interval ) ;
107
108
}
108
109
}
@@ -111,7 +112,7 @@ const ImageLoader = {
111
112
if ( typeof failure === 'function' ) {
112
113
failure ( ) ;
113
114
}
114
- ImageLoader . abort ( requestId ) ;
115
+ ImageLoader . clear ( requestId ) ;
115
116
clearInterval ( interval ) ;
116
117
}
117
118
} ,
@@ -123,6 +124,7 @@ const ImageLoader = {
123
124
const image = new window . Image ( ) ;
124
125
image . onerror = onError ;
125
126
image . onload = ( e ) => {
127
+ ImageUriCache . add ( uri ) ;
126
128
// avoid blocking the main thread
127
129
const onDecode = ( ) => onLoad ( { nativeEvent : e } ) ;
128
130
if ( typeof image . decode === 'function' ) {
@@ -143,9 +145,8 @@ const ImageLoader = {
143
145
ImageLoader . load (
144
146
uri ,
145
147
( ) => {
146
- // Add the uri to the cache so it can be immediately displayed when used
147
- // but also immediately remove it to correctly reflect that it has no active references
148
- ImageUriCache . add ( uri ) ;
148
+ // load() adds the uri to the cache so it can be immediately displayed when used,
149
+ // but we also immediately remove it to correctly reflect that it has no active references
149
150
ImageUriCache . remove ( uri ) ;
150
151
resolve ( ) ;
151
152
} ,
0 commit comments