Android
文章平均质量分 74
写Android的一些往事
Kester_
写过安卓应用,干过图像引擎,搞过数字图像,正在整计算机视觉
展开
-
Android 相关七种 CPU 架构适配
NDK 开发时会涉及到 CPU 架构的适配,不同的机器上可能会有不同的 CPU 架构,也就是说,翻译到机器上使用的规则不一样,Android 上有7种 CPU 架构。 1.armeabi 2.armeabi-v7a 3.arm64-v8a 4.x86 5.x86_64 6.MIPS 7.MIPS64从厂家上来分是有三种,arm,x86,MIPS,arm 系列是绝大多数手机上使用的,x8原创 2017-05-01 14:47:31 · 13188 阅读 · 0 评论 -
ByteBuffer 使用与理解
ByteBuffer 使用与理解原创 2017-05-01 14:22:08 · 2178 阅读 · 0 评论 -
onTouch事件分发顺序
Android事件分发会经过一系列步骤与事件,顺序为:1.父控件的dispatchTouchEvent;2.父控件的onInterceptTouchEvent; // 决定是否将事件分发给子控件,不拦截则调用3456,拦截则调用父控件的触摸事件3.子控件的dispatchTouchEvent;4.子控件的onTouch; // 需要setOnTouchListener才会被调用5.子控件的onTou原创 2016-11-04 21:16:31 · 527 阅读 · 0 评论 -
HashMap
一、HashMap的结构数组索引方便,增删麻烦;链表增删方便,索引麻烦;而哈希表则集成了数组和链表的优点,索引和增删都方便。哈希表是由数组+链表组成的,数组每个元素存储着链表的头结点。元素的key哈希值取余数组长度:hash(key)%len计算出元素放在数组哪个下标中。HashMap的实现中有一个bean,HashMapEntry,用来存储元素的key,value,next。当数原创 2020-06-24 09:00:44 · 125 阅读 · 0 评论 -
事件分发
Android事件分发会经过一系列步骤与事件,顺序为:1.父控件的dispatchTouchEvent;2.父控件的onInterceptTouchEvent; // 决定是否将事件分发给子控件,不拦截则调用3456,拦截则调用父控件的触摸事件3.子控件的dispatchTouchEvent;4.子控件的onTouch; // 需要setOnTouchListener才会被调用原创 2020-06-24 09:01:16 · 105 阅读 · 0 评论 -
代理模式
一、问题如何使用相同的接口在不同的场景使用不同的对话框?二、选型使用代理模式,声明相同的接口,用来设置标题、确认按钮、取消按钮的文案、样式等,在构造函数中传入对应的类型,在代理主题中根据类型实例化不同的真实主题,使用同样的接口完成不同真实主题的初始化,因为各种类型的对话框可以抽象出相同的几个接口,例如标题,背景,文案等。三、使用代理模式由三部分构成:1.抽象主题原创 2020-06-24 09:01:00 · 112 阅读 · 0 评论 -
【翻译】Drawable Resources
参考地址:https://developer.android.com/guide/topics/resources/drawable-resource.htmlDrawable ResourcesA drawable resource is a general concept for a graphic that can be drawn to the screen and which翻译 2016-09-27 14:01:11 · 619 阅读 · 0 评论 -
【翻译】Android Interface Definition Language (AIDL)
参考地址:https://developer.android.com/guide/components/aidl.htmlAndroid Interface Definition Language (AIDL)AIDL (Android Interface Definition Language) is similar to other IDLs you might have work翻译 2016-09-18 20:55:23 · 2405 阅读 · 0 评论 -
【翻译】BroadcastReceiver
参考地址:https://developer.android.com/reference/android/content/BroadcastReceiver.htmlBroadcastReceiverBase class for code that will receive intents sent by sendBroadcast(). 基类代码会接收到发送自sendBroadcast()的in翻译 2016-09-11 21:45:52 · 805 阅读 · 1 评论 -
【翻译】Service
参考地址:https://developer.android.com/reference/android/app/Service.htmlServiceA Service is an application component representing either an application’s desire to perform a longer-running operation while翻译 2016-09-11 14:03:15 · 1289 阅读 · 0 评论 -
【翻译】Activity
参考地址:https://developer.android.com/reference/android/app/Activity.htmlActivityAn activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity翻译 2016-09-11 13:46:50 · 1693 阅读 · 0 评论 -
shape标签研究
1. 功能:控制圆角半径<corners android:radius="9dp" // 设置四个角的圆角半径都为9dp android:topLeftRadius="2dp" // 设置左上角的圆角半径为2dp android:topRightRadius="2dp" // 设置右上角的圆角半径为2d原创 2016-09-22 21:56:58 · 870 阅读 · 0 评论 -
regist too many Broadcast问题研究
发现问题华为5.1和5.1.1手机出现java.lang.IllegalArgumentException: regist too many Broadcast Receivers研究问题表面上看是注册太多广播导致出现异常,通过崩溃日志观察发现,崩溃量不少,而且全部都是华为5.1和5.1.1上出现的,可知是机型特定问题。于是使用华为5.1.1测试,动态注册广播并计数,发现每次刚好到注册第501个广播原创 2016-09-09 14:04:02 · 5467 阅读 · 3 评论 -
在onResume和onPause之间做功能的一些思考
发现问题有时候需要在onResume中做一些功能,但是在手机锁屏或切换出去时 就要停止该功能,这时会一般会选择在onPause中做停止操作,但是这个功能如果是会对UI元素进行操作,可能会导致CalledFromWrongThreadException。研究问题直接上代码Thread mThread = null;@Overrideprotected void onResume() {原创 2016-09-07 22:33:19 · 2808 阅读 · 0 评论 -
Android混淆的一些坑儿
发现问题一个Library里的自定义View同时被宿主和插件以compile的形式依赖, 在使用时有可能导致ClassCastException。研究问题同时被宿主和插件以compile形式依赖,会导致app有两个一样包名的类, 出现转换异常,一开始产生了两个思路: 1. 让这个类被混淆 2. 插件里这个Library以provided形式依赖考虑到依赖库需要跟随插件即时更新,放弃第2种思路原创 2016-09-07 18:06:56 · 2358 阅读 · 0 评论