原文: http://www.trinea.cn/android/localbroadcastmanager-impl/ 对 LocalBroadcastManager 大家应该都不陌生,相对 BroadcastReceiver,它只能用于应用内通信,安全性更好,同时拥有更高的运行效率.也是需要发送应用内广播时的官方推荐. 大家也都知道BroadcastReceiver的通信是走 Binder 机制的,而 LocalBroadcastManager 因为叫LocalBroadcast,可能让人产…
1.介绍 总结:HttpURLConnection用来发送和接收数据. 2.ANR异常报错 (1)ANR(Application not response) 应用无响应, 主线程(UI线程) (2)如果在主线程中进行耗时操作(比如连接网络.拷贝大量的数据),都会报ANR异常 (3)避免ANR报错,可以把耗时操作放到子线程中,自己再创建一个线程. (4)android 4.0之后,Google公司要求连接网络不能在主线程中进行访问. 总结:主线程中不要执行耗时操作(比如连接网络.拷贝大量的数据.T…
前言 在写Android应用时候,有时候或多或少的需要运用广播来解决某些需求,我们知道广播有一个特性,就是使用sendBroadcast(intent);发送广播时,手机内所有注册了BroadcastReceiver的应用都可以在接收到这个广播的,并在BroadcastReceiver的onReceive()方法进行匹配,而应用是否使用这个广播则是取决与我们定义的Action与广播接收者的是否匹配,也就是说平常我们使用的广播是全局的广播,谁都有权收到.所以这就有可能产生安全漏洞和隐私数据泄密:…
说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如Camera开发过程中,可能需要设置一个初始化的相机配置,设置摄像头方向,闪光灯开闭,成像质量等等,这种场景下就可以使用建造者模式 装饰者模式:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活.装饰者模式可以在不改变原有类结构的情况下曾强类的功能,比如Java中的Buff…
前言 本文已经收录到我的Github个人博客,欢迎大佬们光临寒舍: 我的GIthub博客 需要已经具备的知识: Handler的基本概念及使用 学习导图: 一.为什么要学习Handler? 在Android平台上,主要用到的通信机制有两种:Handler和Binder,前者用于进程内部的通信,后者主要用于跨进程通信. 在多线程的应用场景中,Handler将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现工作线程对UI的更新处理,最终实现异步消息的处理. 作为一个Android程序猿,…
面试官提了一个问题:说说你对 binder 驱动的了解.这个问题虽有些 "面试造火箭" 的无奈,可难点就是亮点.价值所在,是筛选面试者的有效手段.如果让你回答,你能说出多少呢?我们来看看 . 和 ️ 三位同学的回答如何吧 自认为无所不知,水平已达应用开发天花板,目前月薪 10k 面试官️:说说你对 binder 驱动的了解 :binder 驱动是很底层的东西,在系统内核中,是 binder 机制的基石. 面试官:没了吗?把你了解的都说一下 :直接让我说了解不好回答啊,还是问我问题吧 面…
简单例子开头: 网络http请求网站源码数据并显示 注意点:访问网络需要加Internet权限: android.permission.INTERNET 简单的步骤: 使用UrlConnection请求一个url地址获取内容: //1.创建一个Url对象 URL url = new URL(url_str); //2.获取一个UrlConnection对象 HttpURLConnection connection = (HttpURLConnection)url.openConnection()…
handler在Android中被称为“消息处理者”,在多线程中比较常用. handler内部实现原理 handler实现机制:1,Message对象,表示要传递的一个消息,内部使用链表数据结构实现一个消息池,用于重复利用,避免大量创建消息对象,造成内存浪费2,MessageQueue对象,存放消息对象的消息队列,先进先出原则3,Looper对象负责管理当前线程的消息队列4,handler对象负责把消息push到消息队列中,以及接收Looper从消息队列中取出的消息 handler的内存泄露问题…
一.什么是UI线程 当程序第一次启动的时候,Android会同时启动一条主线程( Main Thread). 主要负责处理与UI相关的事件. 二.UI线程存在的问题 出于性能优化考虑,Android的UI操作并不是线程安全的,意味着如果多个线程并发操作UI线程,可能导致线程安全问题. 为了解决这个问题,Android规定:只允许UI线程修改Activity里的UI组建. 三.消息传送机制作用 为了解决Android应用多线程问题—Android平台只允许UI线程修改Activity里的UI组建,…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6666491 在前面一篇文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析中,我们系统地介绍了Android系统匿名共享内存的实现原理,其中着重介绍了它是如何辅助内存管理系统来有效地管理内存的,在再前面一篇文章Android系统匿名共享内存Ashmem(Anonymous Share…