把生命长度写在widget里面，便于重用