のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

cache

    367     static void flushCaches(int level) {
    368         nFlushCaches(level);
    369     }
     96 static void android_view_GLES20Canvas_flushCaches(JNIEnv* env, jobject clazz,
     97         Caches::FlushMode mode) {
     98     if (Caches::hasInstance()) {
     99         Caches::getInstance().flush(mode);
    100     }
    101 }
   1000 static JNINativeMethod gMethods[] = {
   1001     { "nIsAvailable",       "()Z",             (void*) android_view_GLES20Canvas_isAvailable },
   1002 
   1003 #ifdef USE_OPENGL_RENDERER
   1004     { "nFlushCaches",       "(I)V",            (void*) android_view_GLES20Canvas_flushCaches },
   1005     { "nInitCaches",        "()Z",             (void*) android_view_GLES20Canvas_initCaches },
   1006     { "nTerminateCaches",   "()V",             (void*) android_view_GLES20Canvas_terminateCaches },
   1007 
   1008     { "nInitAtlas",         "(Landroid/view/GraphicBuffer;[II)V",
   1009             (void*) android_view_GLES20Canvas_initAtlas },
 348 void Caches::flush(FlushMode mode) {
    349     FLUSH_LOGD("Flushing caches (mode %d)", mode);
    350 
    351     // We must stop tasks before clearing caches
    352     if (mode > kFlushMode_Layers) {
    353         tasks.stop();
    354     }
    355 
    356     switch (mode) {
    357         case kFlushMode_Full:
    358             textureCache.clear();
    359             patchCache.clear();
    360             dropShadowCache.clear();
    361             gradientCache.clear();
    362             fontRenderer->clear();
    363             fboCache.clear();
    364             dither.clear();
    365             // fall through
    366         case kFlushMode_Moderate:
    367             fontRenderer->flush();
    368             textureCache.flush();
    369             pathCache.clear();
    370             // fall through
    371         case kFlushMode_Layers:
    372             layerCache.clear();
    373             renderBufferCache.clear();
    374             break;
    375     }
    376 
    377     clearGarbage();
    378 }