本文链接:http://blog..net/dreamsever/article/details/53118864
最近项目要加一个微信登录的功能,由于以前其他项目使用过微信登录,而且该在的东西都在,所以加入微信登录也是三下五除二的很快加入了。但是我发现一个小细节,微信登录时,无论是授权完成还是点击取消登录,回来都有一个白屏--->黑屏--->登录界面跳起恢复的效果,作为开发者遇到这样的情况真是有点犯怵,还以为app要崩了呢。然后随手打开了一个app,有道词典看看他们的微信登录界面跳转很自然平滑,证明这个问题是可以优化的,肯定是代码有点问题。
我就尝试着去找原因:首先登录取消都没问题,也没有崩溃,证明逻辑代码没什么问题,中间唯一不受我们控制的界面就是微信的WXEntryActivity界面,这个界面是微信来处理接受登录,分享等结果的。我就想是不是这个界面停留的时间太长了,看了一下代码没有耗时代码,传递信息后直接就this.finish();了,然后我就想是不是主题的原因,我索性将这个界面的主题设置为透明的
android:label="@string/app_name"
android:exported="true"
android:theme="@android:style/Theme.Translucent"
android:screenOrientation="portrait"/>
再次试了一下效果果然自然平滑了
demo图片: