The single instance FloatWindow retains the reference to a context passed from getFloatWindow() method.
In your sample module, after the activity created the FloatWindow is finished, the activity can not be recycled when GC is triggered, which will cause memory leak.
