From e868513287c50caec4bcc83be3c49e12dfbeac72 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Tue, 11 Aug 2009 18:56:41 -0700 Subject: Fix issue #2048263: More debugging information We now hopefully do better about generating the anr reports, and include information about the malloc loaded assets in meminfo. --- include/utils/Asset.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'include') diff --git a/include/utils/Asset.h b/include/utils/Asset.h index 453a204..5908bcc 100644 --- a/include/utils/Asset.h +++ b/include/utils/Asset.h @@ -45,6 +45,7 @@ public: virtual ~Asset(void); static int32_t getGlobalCount(); + static String8 getAssetAllocations(); /* used when opening an asset */ typedef enum AccessMode { @@ -110,6 +111,12 @@ public: virtual int openFileDescriptor(off_t* outStart, off_t* outLength) const = 0; /* + * Return whether this asset's buffer is allocated in RAM (not mmapped). + * Note: not virtual so it is safe to call even when being destroyed. + */ + virtual bool isAllocated(void) const { return false; } + + /* * Get a string identifying the asset's source. This might be a full * path, it might be a colon-separated list of identifiers. * @@ -197,6 +204,9 @@ private: AccessMode mAccessMode; // how the asset was opened String8 mAssetSource; // debug string + + Asset* mNext; // linked list. + Asset* mPrev; }; @@ -239,6 +249,7 @@ public: virtual off_t getLength(void) const { return mLength; } virtual off_t getRemainingLength(void) const { return mLength-mOffset; } virtual int openFileDescriptor(off_t* outStart, off_t* outLength) const; + virtual bool isAllocated(void) const { return mBuf != NULL; } private: off_t mStart; // absolute file offset of start of chunk @@ -295,6 +306,7 @@ public: virtual off_t getLength(void) const { return mUncompressedLen; } virtual off_t getRemainingLength(void) const { return mUncompressedLen-mOffset; } virtual int openFileDescriptor(off_t* outStart, off_t* outLength) const { return -1; } + virtual bool isAllocated(void) const { return mBuf != NULL; } private: off_t mStart; // offset to start of compressed data -- cgit v1.1