change tile size into one variable
bad logic call recycle when oom occur