安卓中一些细节问题

Intent启动activity的几种方法,如何实现?

A:显示跳转,在可以引用到哪个类,并且可以引用到那个类的字节码时可以使用。一般用于自己程序的内部。显示跳转不可以跳转到其他程序的页面中。

Intent intent =  new Intent(this,xxx.class);

startAcitvity(intent);

B:隐式跳转,可以在当前程序跳转到另一个程序的页面。隐式跳转不需要引用到那个类,必须知道那个界面的动作action和信息category。

打开浏览器为例:

Intentintent = new intent();

intent.setAction("android.intent.action.View");  设置动作

intent.addCategory("android.intent.category.BROWSABLE"); 设置参数

intent.setData(uri.parse("www.baidu.com"));

startActivity(intent); 启动

什么是ANR,如何避免?

全名为(Application Not Response),应用程序在有一段时间响应不够灵敏,系统会向用户显示一个对话框。

 用户可以选择等待让程序继续运行,也可以选择强制关闭。非常影响用户的体验。

产生原因:1.在5秒内没有响应输出事件(例如:按键按下,屏幕触摸)

   2.BroadcastReceiver在10秒内没有执行完毕

   3.主线程执行耗时操作

如何避免:不要在主线程里做耗时操作,而应放在子线程中实现,比如采用Handler+message的方式。和网络交互的耗时操作就采用asyntask异步任务方式。

fragment和activity之间如何通信?

1.Fragment中通过getactivity进行强制转化,调用activity中的共有方法(不推荐会影响屏幕的适配)

2.activity在切换fragment的时候,通过setarguments向fragment传递参数,fragment通过getarguments;获得从activity中传递过来的值。

3.activity实现一个接口,fragment在onAttach方法中,将该activity转化成接口,调用的时候回调

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值