From 78c405178c57bb45e40f1e2839d6a18d91f7f02c Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Mon, 6 Jul 2009 11:07:40 -0700 Subject: Don't re-parse the framework resources all the time. A small optimization to the resource code, to not re-parse the framework resources every time we build a new AssetManager. Instead, you can now construct a ResTable from a previously created one... of course, like the existing code for using the data in-place, you can't delete the original ResTable until you have deleted the one that has been constructed from it. --- include/utils/AssetManager.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'include/utils/AssetManager.h') diff --git a/include/utils/AssetManager.h b/include/utils/AssetManager.h index c11429eaf2ab..d8994e05a027 100644 --- a/include/utils/AssetManager.h +++ b/include/utils/AssetManager.h @@ -251,6 +251,9 @@ private: Asset* getResourceTableAsset(); Asset* setResourceTableAsset(Asset* asset); + ResTable* getResourceTable(); + ResTable* setResourceTable(ResTable* res); + bool isUpToDate(); protected: @@ -265,6 +268,7 @@ private: time_t mModWhen; Asset* mResourceTableAsset; + ResTable* mResourceTable; static Mutex gLock; static DefaultKeyedVector > gOpen; @@ -288,8 +292,11 @@ private: */ ZipFileRO* getZip(const String8& path); - Asset* getZipResourceTable(const String8& path); - Asset* setZipResourceTable(const String8& path, Asset* asset); + Asset* getZipResourceTableAsset(const String8& path); + Asset* setZipResourceTableAsset(const String8& path, Asset* asset); + + ResTable* getZipResourceTable(const String8& path); + ResTable* setZipResourceTable(const String8& path, ResTable* res); // generate path, e.g. "common/en-US-noogle.zip" static String8 getPathName(const char* path); -- cgit v1.2.3-59-g8ed1b