我想用intent打开百度网页,结果崩溃了,点了按钮就崩溃了,,为什么啊?还是AndroidMan

我想用intent打开百度网页,结果崩溃了,点了按钮就崩溃了,,为什么啊?还是AndroidMan,第1张

增加访问网络权限了吗?

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

安装应用无法处理intent需要启动程序。根据查询相关公开信息显示,安装应用无法处理intent是该应用无法满足intent程序,需要尝试通过adb从命令行启动,确保intent设置正确。

        我们知道在Activity间使用Intent传递List含有大量序列化的对象时候,或者传递较大bitmap等较大量数据的时候会引起页面卡顿。而且Android本身也限制了能够传递的数据大小在1MB左右。这就要求我们不得不为传输大量数据寻求一个解决方法。

        通常我们可以想到的一个方法是当从A页面跳转至B页面的时候将需要传递的大对象赋值给A页面的一个静态变量,在B页面去取A页面的值。这种方式简单却有很多问题,比如可能会有很多其他页面访问B页面这会导致静态变量管理混乱,而且如果在组件化开发的过程中,需要进行组件间跳转的时候只能把这种静态变量写在BaseLibrary中,这显然是不够友好的。

        我们稍加处理做一个简单的封装。++参考:《Android工程化最佳实践》++

        就这样简单的两个类我们就完成了封装,可以看到在Model中序列化了一个int值。下面我们来看一个简单的使用示例:

        通过以上方式的封装,可以看到无论需要序列化传递的对象有多大,在传值的时候只是传递了一个“int”而已。使用该这种方法时需要注意的一点是在数据的接收页面只能使用getIntent()获取一次该对象的值,因为我们在取完一次值后便将该对象从缓存区移除了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11559689.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存