I found that sometimes the miner fall into a reconnection loop just like I pressed "r". It said "Unable to read pool response. Timeout" then keep reconnecting fail and reconnecting fail. My internet connection should be okay.

Is that the timeout setting too low while my ping to the pool is too high at that moment?
We have already answered and we are working on a fix for the next release (perhaps 2.4):
Sorry for this problem. We managed to reproduce it here thanks to the log you have send. It doesn't happen often but when it does it can be fairly annoying. Eventually the miner manages to connect but it may take a ten or more attempts. We are going to find the root cause and will introduce a fix (but probably not in version 2.3 as it is already being tested internally). In the meantime if the miner can't connect with "Connection attempt aborted" error after a few attempts, the best workaround it to close it (ignore the error on exit if you get one) and start it again.
Yes, it seems that there is working pool and a wallet, so we will try to add support for PGC in version 2.4.