用这个app玩ONS适合情侣玩的游戏app该怎么点出可以存档的界面

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
大神帮我解决有红包
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
在Manifest里把MainActivity的launchMode属性删掉看看。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
不太好分析,如果每个进程都这样,进开发者选项看看后台任务限制是不是有问题。
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
扫扫下载 App问题:现在有些APP第一次打开的时候有动画的引导界面,这个是怎么实现的?
描述:还有就是比如更新天气,更新请求发出,但是更新数据还没返回,有一些动画,这个是怎么实现的?如这种动画怎么加入项目中/shots/1137463-Recycle-Preloader-GIF
完全没有思路解决方案1:gif省事,显示效果差帧动画效果好,开发周期长解决方案2:帧动画、GIF图,都是可以实现,GIF图播放现在也有开源框架支持,如 fresco解决方案3:html5+css3 或者 gif省事解决方案4:使用fresco或者Glide播放gifH5界面解决方案5:有两种:GIF动画和纯代码实现。第一种:借助于Gif制作工具软件实现。一般是和第三方开源的GifView(/Cutta/GifView)控件配合使用。特点是:简单,易上手。第二种:借助于Android自带动画类,或者第三方动画框架实现,如nineoldandroids。特点是:灵活性较高,难度较大。demo://AVLoadingIndicatorView。详细使用步骤,戳链接。
以上介绍了“现在有些APP第一次打开的时候有动画的引导界面,这个是怎么实现的?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:/itwd/1313274.html
上一篇: 下一篇:题目起源:
当应用友盟分享SDK,乐成分享到QQ界里后,正在某些环境下本身的app会被烧毁,而此时返回本身的app,发明界里展现出有题目,然则屏幕面击却一面后果皆出有。经仔]
& &问题来源:
& 当使用友盟分享SDK,成功分享到QQ界面后,在某些情况下自己的app会被销毁,而此时返回自己的app,发现界面展示没有问题,但是屏幕点击却一点效果都没有。经仔细测试发现底部物理键和app外的系统状态栏却可以正常点击,且点击一次返回键后当前app的界面也可以正常点击了。有点神乎其神。问了友盟支持,他们的回答一点鸟用都木有~~那回答是非常非常官方的。不知道是QQ的问题还是友盟的问题,由于紧急的原因,那只能自己强行解决了。
& 问题分析:
& 在分享界面的activity生命周期中用代码输出当前app的栈顶activity发现,在以上情况下回来到当前app,栈顶activity并不是自己的activity而是名为:
com.mon.AssistActivity
& 目测是腾讯的activity。而此activity在app未被销毁时正常关闭自己,但是在app被销毁后变量还原,导致某些状态丢失而无法正常关闭自己(从分享成功后app再销毁,AssistActivity还是无法正常关闭可知并不是通过广播来关闭此界面,而是设置了某些状态来关闭自己)。
& 经过测试发现
& (1)、app未被销毁时返回来分享activity生命周期:
--&onStart:&top
activity:com.mon.AssistActivity
--&onResume:&top
activity:com.mon.AssistActivity
&(2)、app被销毁时返回来分享activity生命周期:
--&onStart:&top
activity:com.mon.AssistActivity
--&onRestoreInstanceState
--&onResume:&top&activity:&com.mon.AssistActivity
--&onPause:&top&activity:&com.mon.AssistActivity
&(3)、温习一下一般activity界面切换生命周期:A--&B
A.onPause--& B.onCreate --&B.onStart--&B.onResume--&A.onStop
从以上1,2,3可以分析出app销毁后回到此app分享界面并非在栈顶,且我们可以在onPause检测并处理,我是通过发出一个启动自己的intent,并设置清除栈顶activity来强行清除未被正常关闭的AssistActivity的。简易代码如下:
boolean isFromActivityReCreate = // 执行onCretae是否是带有savedInstanceState启动的
protected void onCreate(Bundle savedInstanceState) {
if (savedInstanceState != null) {
isFromActivityReCreate =
protected void onPause() {
if(isFromActivityReCreate &&isNeedRestart()) {
& & &Intent intent = new Intent(ctx, this.getClass());
&intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //清除栈顶的activity
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);//不显示多余的动画,假装没有重新启动
//记得带需要的参数intent.putExtra();
startActivity(intent);
isFromActivityReCreate =
private boolean isNeedRestart(){
ActivityManager am = (ActivityManager) ctx
& & .getService(Context.ACTIVITY_SERVICE);
& List&RunningTaskInfo& tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
& & ComponentName topActivity = tasks.get(0).topA
& &RunningTaskInfo taskInfo = tasks.get(0);
& &if (topActivity.getName().equals(ctx.getPackageName())) {
// 若当前栈顶界面是AssistActivity,则需要手动关闭
& & if (topActivity.getClassName().equals(
& & & &com.mon.AssistActivity&)
& 问题额外关注点:
& 在onSaveInstanceState和onRestoreInstanceState方法需要做好activity的状态保存和恢复,特别是第三方的SDK,否则坑挖大了,用户可没法像我们猿这样好好分析问题哈。

我要回帖

更多关于 好玩的app单机游戏 的文章

 

随机推荐