1.首先在AndroidManifest.xml文件中添加如下代码以开启权限: 2.Android有三个跟获取WiFi信息相关的类:WifiManager,WifiInfo,ScanResult WifiManage 1 // 获取系统wifi服务 2 WifiManage wm = (WifiMa ...
分类:
移动开发 时间:
2018-12-24 23:29:52
阅读次数:
225
几个系统关键对象: ActivityManagerServices,简称AMS,服务端对象,负责系统中所有Activity的生命周期 ActivityThread,App的真正入口。当开启App之后,会调用main()开始运行,开启消息循环队列,这就是传说中的UI线程或者叫主线程。与Activity ...
分类:
其他好文 时间:
2018-12-17 20:22:59
阅读次数:
240
目录 Android限制只能在主线程中进行UI访问 Thread的实现 Android Thread 的构造方法 Android Thread 的start()方法 如何在我们自己的代码中去检测当前Thread是不是UI线程呢? Android限制只能在主线程中进行UI访问 我们知道,Android ...
分类:
移动开发 时间:
2018-12-07 14:49:43
阅读次数:
212
okhttp 和 volley 1. 之前用的是volley,其中一部分功能,比如User-Agent,是系统去处理的,改成okhttp库后,这部分功能需要浏览器自己处理 2. 具体区别可以参考: https://www.cnblogs.com/fanzhiguo/p/6038021.html ht ...
分类:
移动开发 时间:
2018-12-04 22:32:03
阅读次数:
601
什么是ANR ANR:Application Not Responding,即应用程序无响应。 在Android中,ActivityManagerService(简称AMS)和WindowManagerService(简称WMS)会监测应用程序的响应时间,如果应用程序主线程(即UI线程)在超时时间内 ...
分类:
移动开发 时间:
2018-12-04 20:07:05
阅读次数:
248
1、android ui操作为什么一定要在主线程中执行? 答:Android UI操作是单线程模型,关于UI更新的相关API(包括invalidate())都是按照单线程设计的,对于多线程运行时不安全的,即在非主线程调invalidate()刷新界面出现异常。所以android禁止在非主线程更新UI ...
分类:
编程语言 时间:
2018-11-24 23:48:27
阅读次数:
223
模块表示一段可执行的程序,其程序、数据、资源都被加载到内存中,由系统构建一个数据结构来管理它,就是一个模块,这个数据结构被称作MDB。进程是一大堆拥有权的集合,进程拥有地址控件,动态配置的内存、文件、线程、和一系列模块,操作系统用PDB的数据结构来管理它。线程表示程序代码的执行事实,系统用TDB数据 ...
分类:
编程语言 时间:
2018-11-24 11:47:35
阅读次数:
226
1.@Nullable 作用于函数参数或者返回值,标记参数或者返回值可以为空. 2,@NonMull 作用于函数参数或者返回值,标记参数或者返回值不可以为空. 3.@LayoutRes 标记整数值android.R.layout类型 4.@UiThread 标记运行在UI线程 中 5.@MainTh ...
分类:
移动开发 时间:
2018-11-16 17:22:14
阅读次数:
232
关于JavaScript异步、事件循环与消息队、微任务与宏任务的总结 ...
分类:
编程语言 时间:
2018-11-10 00:09:20
阅读次数:
273
应用程序未捕获异常的处理 处理未捕获的异常是每个应用程序起码有的功能 WinForm等类型的应用程序 使用UnhandledException来处理非 UI 线程异常 1 static void Main(string[] args) 2 { 3 AppDomain.CurrentDomain.Un ...