Android
文章平均质量分 90
来撕特成
这个作者很懒,什么都没留下…
展开
-
使用trace文件分析ANR
全称:Application Not Responding,也就是应用程序无响应。Android系统中,ActivityManagerService(简称)和WindowManagerService(简称WMS)会检测App的响应时间,如果App在特定时间无法相应屏幕触摸或键盘输入时间,或者特定事件没有处理完毕,就会出现ANR。ANR信息在ActivityManagerService类中的appNotResponsding函数中输出。原创 2024-02-05 12:16:14 · 930 阅读 · 0 评论 -
Binder机制 在Android中的具体实现原理
机制在 中的实现主要依靠 类,其实现了 接口 下面会详细说明实例说明:进程 需要调用 进程的函数 即:代码分析:注册服务后,驱动持有 进程创建的实体 此时,进程与 进程已经建立了连接进程 根据获取到的 信息(代理对象),通过驱动 建立与 该所在进程通信的链路,并开始使用服务步骤1: 进程 将参数(整数a和b)发送到进程步骤2:进程根据进要求 调用 目标方法(即加法函数)步骤3:进程 将目标方法的结果(即加法后的结果)返回给进程总结 下面,我用一个原理图 & 流程图来总结步骤3的内容转载 2024-01-23 16:58:12 · 32 阅读 · 0 评论 -
Android跨进程通信:Binder机制原理
在讲解Binder前,我们先了解一些Linux的基础知识。转载 2024-01-19 11:31:19 · 40 阅读 · 0 评论 -
浅谈Android Handler 机制实现与工作原理(2)
是Linux 2.6提供的一种系统调用,它可以用来实现事件通知。eventfd包含一个由内核维护的64位无符号整型计数器,创建eventfd时会返回一个文件描述符,进程可以通过对这个文件描述符进行read/write来读取/改变计数器的值,从而实现进程间通信。(mac完全用不了这个epoll和eventfd,尴尬)转载 2024-01-07 15:13:19 · 79 阅读 · 0 评论 -
Android 事件机制探讨(1)
事件的传递主要有三个方法:dispatchTouchEvent(事件分发)、onInterceptTouchEvent(事件拦截)、onTouchEvent(事件消费)。原创 2024-01-15 13:58:57 · 987 阅读 · 0 评论 -
浅谈Android Handler 机制实现与工作原理(1)
Handler在android项目中经常用到,之前转载过一篇关于Handler的文章,不过个人觉得比较概念性,本篇主要是从源码上解析Handler工作的原理机制。下面是我从网上看到的一个Handler工作流程图,如下:首先这个是Handler的默认构造方法,this进入的是下面的方法在Handler的构造方法中,首先通过Looper.myLooper()方法获取当前线程...原创 2020-02-03 13:36:26 · 503 阅读 · 1 评论 -
AppCan 个推推送消息
首先先了解一下AppCan平台,在这里就不多说了,地址在http://newdocx.appcan.cn。第一步:在个推官网注册,https://www.getui.com/;点击开发者中心,进去后,看左侧菜单栏,选择应用管理点击创建应用,填写相应信息,这样就可以创建一个应用了。第二部:在个推官网创建应用,地址:http://www.appcan.cn/;进...原创 2019-09-19 15:00:26 · 398 阅读 · 0 评论 -
Android 应用程序自动更新
大体思路是,比较服务器版本和当前应用程序的版本号(versionCode)或者(versionName),如果系统版本号大于本地版本号,提示更新.其中要注意的是,如果用户每次没有更新,而是取消,那就容易造成android设备里面堆积大量下载下来的apk.做法其实很简单,只要每次更新前,删除历史纪录就好.你也可以记录下downLoadId,直接安装已经下载下来的apk,不需要再去从服务器...原创 2019-02-15 15:07:27 · 950 阅读 · 0 评论 -
AndroidJNI(Java Native Interce)
一、JNI(Java Native Interface) 1、什么是JNI: JNI(Java Native Interface):java本地开发接口 JNI是一个协议,这个协议用来沟通java代码和外部的本地代码(c/c++) 外部的c/c++代码也可以调用java代码 2、为什么使用...转载 2019-01-20 20:44:11 · 191 阅读 · 0 评论 -
AndroidStudio 连接 Android系统开发板
一 开发板的网络环境配置:1.用串口线或者串口转usb线将pc端与android开发板端连接起来2 将android开发板接入公司局域网;简单点来根网线和一个TP_Link,接入就可以.3.打开下载好的Xshell,界面如下(1)点击新建按钮,弹出如下界面,(红色箭头指出需要修改的地方将协议修改为SERIAL) 设置完成,点击确定,在会话窗口点击连接,如果连...原创 2018-10-26 17:00:50 · 4294 阅读 · 0 评论 -
Android Handler通信
一 Android中使用Handler场景 在开发中更新我们刷新视图都需要在主线程中更新,子线程是不支持更新视图操作的。所以当我们做一些耗时操作的时候可以不能马上得到反馈刷新UI,比如下载文件或者下载图片这些操作都比较耗时,我们一般会重新创建一个子线程异步处理耗时操作,这样就不会堵塞主线程导致卡顿的情况。这个时候Handler就起到了作用。我们可以用Handler Looper M...转载 2018-10-29 10:32:56 · 521 阅读 · 0 评论 -
Android 中导入项目乱码或者手机上显示乱码解决方案
导入了Eclipse项目,打开文件发现注释都是乱码,上网查了一下,解决方法如下:首先打开AndroidStudio目录如图设置即可:然后运行项目,显示的是乱码 然后我在gradle文件中加了android {compileOptions.encoding = "GBK"}重新运行,问题解决了....原创 2018-10-17 10:32:44 · 1002 阅读 · 0 评论 -
Could not find com.android.tools.build:gradle:3.2.0.
最近遇到这个错误, 主要是gradle版本的问题:解决办法:Setting->Build,Execution,Deployment->Gradle->Android Studio ,然后把 Enble embedded Maven repository 前面的单选框勾选上。 ...原创 2018-10-16 16:39:00 · 30148 阅读 · 17 评论 -
AndroidStudio 环境搭建和安装
一 首先确保电脑是否安装了JDK,打开CMD,输入"java -version",如图所示, 代表已经安装了JDK.如果未安装,可以直接下载,地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html安装完毕后,配置环境变量,依次点击我的电脑-属性-高级系统设置变量:JAVA_HOME 变...原创 2018-10-16 14:27:40 · 193 阅读 · 0 评论