diff options
| author | 2009-07-06 11:07:40 -0700 | |
|---|---|---|
| committer | 2009-07-06 11:12:37 -0700 | |
| commit | 78c405178c57bb45e40f1e2839d6a18d91f7f02c (patch) | |
| tree | 6e7137f628b8fff1f72c59e5e42f3f4878e0bb39 /include/utils/AssetManager.h | |
| parent | ef1f21b34f5624adb7436d3da927660ed16c97c7 (diff) | |
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.
Diffstat (limited to 'include/utils/AssetManager.h')
| -rw-r--r-- | include/utils/AssetManager.h | 11 |
1 files changed, 9 insertions, 2 deletions
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<String8, wp<SharedZip> > 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); |