Improved object lifecycle tracking and fix leaks.
diff --git a/rsProgramFragment.cpp b/rsProgramFragment.cpp
index 5f685ff..708a0e0 100644
--- a/rsProgramFragment.cpp
+++ b/rsProgramFragment.cpp
@@ -27,6 +27,8 @@
 ProgramFragment::ProgramFragment(Context *rsc, Element *in, Element *out, bool pointSpriteEnable) :
     Program(rsc, in, out)
 {
+    mAllocFile = __FILE__;
+    mAllocLine = __LINE__;
     for (uint32_t ct=0; ct < MAX_TEXTURE; ct++) {
         mEnvModes[ct] = RS_TEX_ENV_MODE_REPLACE;
         mTextureDimensions[ct] = 2;
@@ -190,6 +192,12 @@
     mDefault.set(pf);
 }
 
+void ProgramFragmentState::deinit(Context *rsc)
+{
+    mDefault.clear();
+    mLast.clear();
+}
+
 
 namespace android {
 namespace renderscript {