@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); GlideApp.get(this).setMemoryCategory(MemoryCategory.HIGH); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ContextCompat.checkSelfPermission(this, permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { requestStoragePermission(); } else { replaceFragment(); } }
@Test public void testCanIncreaseMemoryCategory() { MemoryCategory memoryCategory = MemoryCategory.NORMAL; Glide glide = new GlideBuilder() .setBitmapPool(bitmapPool) .setMemoryCache(memoryCache) .build(context); glide.setMemoryCategory(memoryCategory); verify(memoryCache).setSizeMultiplier(eq(memoryCategory.getMultiplier())); verify(bitmapPool).setSizeMultiplier(eq(memoryCategory.getMultiplier())); MemoryCategory newMemoryCategory = MemoryCategory.HIGH; MemoryCategory oldMemoryCategory = glide.setMemoryCategory(newMemoryCategory); assertEquals(memoryCategory, oldMemoryCategory); verify(memoryCache).setSizeMultiplier(eq(newMemoryCategory.getMultiplier())); verify(bitmapPool).setSizeMultiplier(eq(newMemoryCategory.getMultiplier())); }
@Test public void testCanSetMemoryCategory() { MemoryCategory memoryCategory = MemoryCategory.NORMAL; Glide glide = new GlideBuilder() .setBitmapPool(bitmapPool) .setMemoryCache(memoryCache) .build(context); glide.setMemoryCategory(memoryCategory); verify(memoryCache).setSizeMultiplier(eq(memoryCategory.getMultiplier())); verify(bitmapPool).setSizeMultiplier(eq(memoryCategory.getMultiplier())); }
@Test public void testCanDecreaseMemoryCategory() { MemoryCategory memoryCategory = MemoryCategory.NORMAL; Glide glide = new GlideBuilder() .setBitmapPool(bitmapPool) .setMemoryCache(memoryCache) .build(context); glide.setMemoryCategory(memoryCategory); verify(memoryCache).setSizeMultiplier(eq(memoryCategory.getMultiplier())); verify(bitmapPool).setSizeMultiplier(eq(memoryCategory.getMultiplier())); MemoryCategory newMemoryCategory = MemoryCategory.LOW; MemoryCategory oldMemoryCategory = glide.setMemoryCategory(newMemoryCategory); assertEquals(memoryCategory, oldMemoryCategory); verify(memoryCache).setSizeMultiplier(eq(newMemoryCategory.getMultiplier())); verify(bitmapPool).setSizeMultiplier(eq(newMemoryCategory.getMultiplier())); }
@Override public void registerComponents(Context context, Glide glide) { //配置OkHttp OkHttpClient mOkHttpClient = new OkHttpClient() .newBuilder() .connectTimeout(15, TimeUnit.SECONDS) .readTimeout(15, TimeUnit.SECONDS) .build(); //设置Glide请求为Okhttp glide.register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(mOkHttpClient)); //设置Glide的内存缓存和BitmapPool使用最多他们初始值的最大大小的一半 glide.setMemoryCategory(MemoryCategory.LOW); } }