title: Memory leaks with custom font for set custom font
body: <p>The following code for setting custom fonts slows down my whole app. how do i modify it to avoid memory leaks and increase the speed and manage memory well?</p>
  
  <pre><code>public class FontTextView extends TextView {
      private static final String TAG = "FontTextView";
  
      public FontTextView(Context context) {
          super(context);
      }
  
      public FontTextView(Context context, AttributeSet attrs) {
          super(context, attrs);
          setCustomFont(context, attrs);
      }
  
      public FontTextView(Context context, AttributeSet attrs, int defStyle) {
          super(context, attrs, defStyle);
          setCustomFont(context, attrs);
      }
  
      private void setCustomFont(Context ctx, AttributeSet attrs) {
          TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.FontTextView);
          String customFont = a.getString(R.styleable.FontTextView_customFont);
          setCustomFont(ctx, customFont);
          a.recycle();
      }
  
      public boolean setCustomFont(Context ctx, String asset) {
          Typeface tf = null;
          try {
          tf = Typeface.createFromAsset(ctx.getAssets(),"fonts/"+ asset);  
          } catch (Exception e) {
              Log.e(TAG, "Could not get typeface: "+e.getMessage());
              return false;
          }
  
          setTypeface(tf);  
          return true;
      }
      }
  </code></pre>