android: optimize debugging do not cache assets file from local dir
This commit is contained in:
parent
2f9afac7bd
commit
61e537aa98
@ -33,8 +33,8 @@ public class DoricDevAssetsLoader extends DoricAssetsLoader {
|
|||||||
return new DoricRemoteResource(doricContext,
|
return new DoricRemoteResource(doricContext,
|
||||||
String.format("http://%s:7778/assets/%s",
|
String.format("http://%s:7778/assets/%s",
|
||||||
DoricDev.getInstance().getIP(),
|
DoricDev.getInstance().getIP(),
|
||||||
identifier
|
identifier),
|
||||||
));
|
false);
|
||||||
}
|
}
|
||||||
return super.load(doricContext, identifier);
|
return super.load(doricContext, identifier);
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,9 @@
|
|||||||
package pub.doric.resource;
|
package pub.doric.resource;
|
||||||
|
|
||||||
import com.bumptech.glide.Glide;
|
import com.bumptech.glide.Glide;
|
||||||
|
import com.bumptech.glide.RequestBuilder;
|
||||||
import com.bumptech.glide.load.DataSource;
|
import com.bumptech.glide.load.DataSource;
|
||||||
|
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||||
import com.bumptech.glide.load.engine.GlideException;
|
import com.bumptech.glide.load.engine.GlideException;
|
||||||
import com.bumptech.glide.request.RequestListener;
|
import com.bumptech.glide.request.RequestListener;
|
||||||
import com.bumptech.glide.request.target.Target;
|
import com.bumptech.glide.request.target.Target;
|
||||||
@ -35,15 +37,26 @@ import pub.doric.async.AsyncResult;
|
|||||||
* @CreateDate: 2021/10/20
|
* @CreateDate: 2021/10/20
|
||||||
*/
|
*/
|
||||||
public class DoricRemoteResource extends DoricResource {
|
public class DoricRemoteResource extends DoricResource {
|
||||||
|
private final boolean needCache;
|
||||||
|
|
||||||
|
public DoricRemoteResource(DoricContext doricContext, String identifier, boolean needCache) {
|
||||||
|
super(doricContext, identifier);
|
||||||
|
this.needCache = needCache;
|
||||||
|
}
|
||||||
|
|
||||||
public DoricRemoteResource(DoricContext doricContext, String identifier) {
|
public DoricRemoteResource(DoricContext doricContext, String identifier) {
|
||||||
super(doricContext, identifier);
|
this(doricContext, identifier, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AsyncResult<byte[]> fetchRaw() {
|
public AsyncResult<byte[]> fetchRaw() {
|
||||||
final AsyncResult<byte[]> result = new AsyncResult<>();
|
final AsyncResult<byte[]> result = new AsyncResult<>();
|
||||||
Glide.with(doricContext.getContext()).download(identifier)
|
RequestBuilder<File> requestBuilder = Glide.with(doricContext.getContext()).download(identifier);
|
||||||
|
if (!this.needCache) {
|
||||||
|
requestBuilder = requestBuilder.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||||
|
.skipMemoryCache(true);
|
||||||
|
}
|
||||||
|
requestBuilder
|
||||||
.listener(new RequestListener<File>() {
|
.listener(new RequestListener<File>() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<File> target, boolean isFirstResource) {
|
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<File> target, boolean isFirstResource) {
|
||||||
|
Reference in New Issue
Block a user