![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android应用层
sslinp
不忘初心,方得始终!
展开
-
EventBus-3.1.1源码阅读
1. 注册及查找事件1.1 EventBus初始化getDefault: 通过单例模式获取实例,同时里面采用Builder模式构造部分初始化参数,方便定制部分配置信息//Builder模式,在EventBusBuilder里面完成一些默认的初始化操作private static final EventBusBuilder DEFAULT_BUILDER = new EventBusBu...原创 2019-12-11 11:25:32 · 264 阅读 · 0 评论 -
【Android】Android外接音源设备之小蜜蜂坑
在开发直播APP时,有用到小蜜蜂外接音源,总是会存在声音噪音很大或者很多手机声音很小的问题:适配的几个手机都测试了,总是得不到解决方案,因为在外接小蜜蜂MIC时,会用到转接线最开始考虑的是否转接线存在国标和美标的问题,结果发现确实有影响但是还是存在问题,声音并非完美,客户使用在即,急的不行,晚上找到技术老大,叫来硬件工程师一起联调,最后在转接线上加了阻尼,虽然存在很大问题,但总算稍微能用了...原创 2018-10-28 14:04:52 · 6444 阅读 · 0 评论 -
【Android】关于魅族机型适配问题
一、魅族hold 下拉悬停功能的屏蔽魅族自带的下拉悬停功能有时用起来体验太差,Android开发中很多地方会碰到与设计想冲突的地方一般如:ListView ScrollView 等可下滑控件操作是会碰到,如需选择性屏蔽可通过如下API实现: * .setOverScrollMode(View.OVER_SCROLL_NEVER);二、魅族SmartBar适配魅族的SB...原创 2018-10-28 14:04:45 · 4331 阅读 · 0 评论 -
【Android】问题集锦
1. Release apk打包问题:Lint found fatal errors while assembling a release target.问题解决:多个activity注册问题,或者部分警告在release中编译不过的问题android { lintOptions { checkReleaseBuilds false // Or, if...原创 2018-10-28 14:04:35 · 3319 阅读 · 0 评论 -
【Android源码篇】 最详细的AsyncTask源码剖析
文章目录一、简单使用和介绍(会的同学可以直接跳过看源码分析)二、源码剖析1.首先从AsyncTask初始化开始2. mWorker中实现call方法,并调用doInBackground3.看Handler构成的消息传递机制4.接着看execute方法5.接着看线程池sDefaultExecutor和execute方法三、总结最近在总结Android线程优化相关的知识,顺便说说AsyncTask...原创 2018-11-13 11:18:27 · 3101 阅读 · 2 评论 -
【BUG】no permissions (user in plugdev group; are your udev rules wrong?
ubuntu 18接开发板子,发现adb这个提示,查看:felix@felix-desktop:~/wd500g/eyemore-i.mx/android_n7$ lsusbBus 001 Device 002: ID 8087:8001 Intel Corp.Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus...原创 2018-11-08 16:42:15 · 3592 阅读 · 0 评论 -
AS项目运行正常,但查看代码飘红the file size exceeds configured limit.
原文:https://blog.csdn.net/qq_32227681/article/details/73331002Android Studio 项目运行正常,但查看代码飘红,看着烦,按ctrl 点击飘红的类,进不去找到该类的包名全路径,一步一步打开该类,发现Android studio上有提示:the file size exceeds configured limit.意思就是:文...转载 2018-11-21 17:56:23 · 3045 阅读 · 0 评论 -
内存优化(一)浅谈内存优化
本系列文章,主要是总结我对Android开发过程中内存优化的理解,很多东西都是平常的习惯和一些细节问题,重在剖析优化的原理,养成一种良好的代码习惯。概述既然谈优化,就绕不开Android三个内存相关的经典问题:OOM内存泄漏频繁GC卡顿导致这三个问题的原因:OOMApp在启动时会从系统分配一个默认的堆内存,同时拥有一个堆内存最大值(可以动态申请这个大小),这个Max Hea...原创 2018-12-20 16:39:39 · 1864 阅读 · 0 评论 -
Gradle快速构建(三)多渠道打包及隐藏自动签名
文章内容:配置不同打包环境下(包括run运行的debug打包模式)指定签名,配置本地jks_config文件,自动编译签名包还记得当初刚撸android时,在一家小公司用的eclipse开发,遇到一个发布bug,自己在运行debug打包模式测试都没有遇到过,但是通过jks签名包出来就升级安装出问题了,着实蛋疼,可想,配置一个正确的开发和测试环境的重要性,当我们打测试包时,总不能一直给人家d...原创 2018-12-08 16:58:22 · 1881 阅读 · 0 评论 -
Gradle快速构建(一)AS项目构建配置进阶
用Gradle构建Android Studio项目,默认会有一个基础配置,那么在这个基础上,我们通过将变量聚合在一起,既明了又简洁。文章目录一、配置源码编译路径配置资源目录二、配置编译版本和依赖版本为全局变量三、打包相关的一些配置四、Gradle编译兼容性配置1. lint检查2. 依赖仓库一、配置源码编译路径我们都知道,AS会有默认的源码编译路径,比如java的在main/java下,...原创 2018-12-08 16:57:58 · 2238 阅读 · 0 评论 -
Gradle快速构建(二)gradle构建NDK编译环境
在我的文章如何使用AndroidStudio-Cmake中有说过在gradle配置jni环境,本章主要更加细致的介绍如何配置一些自定义的选项,比如选择ndk版本编译,编译不同的库,cmake编译下配置引用不同的C++ libd等。文章目录一 mk编译下自定义ndk编译指令1. 获取NDK路径2. 执行ndk编译指令3. 指定静态库的引用路径二 cmake编译选项配置1.配置AS编译方式2.配...原创 2018-12-08 16:58:12 · 3256 阅读 · 0 评论 -
UI性能优化(一)Overdraw排查和调优
文章目录概述与案例排查技巧一:查看是否过度绘制排查技巧二:通过Hierachy View或者Layout Inspecot查看布局层级Overdraw优化策略一、至尊超薄去除window背景绘制上下级同色图层间保持最少图层绘制原则学会选择布局控件merge标签的使用二、不见不画,待见再画1. 动态代码加载2. ViewStub标签的使用Android的渲染机制优化是重中之重,大家都知道,但是问...原创 2018-12-20 16:38:24 · 1398 阅读 · 0 评论 -
【Android】Android-键盘遮盖界面布局问题
一、在解决Android输入法键盘弹出问题是,我们先来了解几个常用的api<activity android:windowSoftInputMode= "A"'>A=“stateUnspecified” 依赖系统或者主题去设置键盘弹出A=“stateHidden” 控制键盘不自动弹出A=“stateUnchanged” 保持上一个Activity的键盘弹出属性设置A=“...原创 2018-10-28 14:04:58 · 3592 阅读 · 0 评论 -
【Android】android 8.0系统API问题适配和学习
文章目录一、Android 8.0遇到的问题1. 线程中断:2. invalid pthread_t 0x2243df2546 passed to libc二、改动:(这一切都是基于targetApi=26)1. 在新版的gradle要求中,软件在2018年底google市场强制要求,软件targetApi=26,一些简单的代码改动,如依赖包写法等,不提2. 后台执行限制:这一点很重要,andro...原创 2018-10-26 11:45:51 · 4219 阅读 · 0 评论 -
【Android】代码混淆常用&高级技巧
文章目录一、在项目工程目录下创建混淆文档:proguard-rules.pro二、在项目gradle文档中声明:三、部分高级混淆的规则:android apk防护的方法有很多,代码混淆只能算是一个门槛,还有包括Dalvik字节码加密,DEX加壳保护,DEX指令动态加载保护和高级源码混淆保护等等,有空再慢慢尝试学习,目前一些比较火的第三方混淆方案:还有网上一个很有意思的混淆字典:写这篇文章作为一...原创 2018-10-26 11:29:25 · 4340 阅读 · 0 评论 -
【Android开发问题】Attribute "title" has already been defined 异常解决
Attribute “title” has already been defined 异常解决问题描述:在开发过程中,会存在引用jar包时,自定义的attrs.xml中属性与jar包中属性冲突的情况:碰到这个问题,我在网上查找了许多方法,包括stackoverflow等,好像没有查到很好的解决方式(汗!我的查找能力有待提高),在此我总结了下这次问题的解决办法:第一、更改自定义的属性名称,比如tit原创 2018-11-28 15:54:49 · 4580 阅读 · 0 评论 -
【Android】Crosswalk 开发浅析
最近的项目中,有用到phonegap,并需要展示一些需要高效渲染的网页,同情况下,IOS跑起来轻松无比,但是Webview。。。。(泪奔),在焦头烂额的机型及版本适配中,发现了Crosswalk项目。一、 在使用 Crosswalk框架之前,我们必须得了解 Crosswalk1. Crosswalk是一款开源的Web引擎,其基于 Chromium/Blink 的应用运行环境,对于混合开...原创 2018-10-29 09:42:47 · 7580 阅读 · 3 评论 -
【Android】SAX解析XML文件
文章目录一、SAX解析的优点二、SAX解析流程一、SAX解析的优点SAX解析是逐行解析XML,占用内存小,效率高,速度快,接下来通过一个小demo演示如何去通过sax解析xml二、SAX解析流程确定要解析的xml <?xml version="1.0" encoding="utf-8"?> <books xmlns:pre=&quo原创 2018-10-26 11:14:09 · 2914 阅读 · 0 评论 -
【Android】WebView加载html与JS交互
文章目录一、加载Html的几种方法二、加载页面时几种简单API使用三、浏览器优化操作处理:四、WebView与JS交互问题解决:HTML5交互:HTML5地理位置服务在Android中的应用:构建HTML5离线应用:在线状态检测Android与JS之间的互相调用在Android中调用JS的方法:Android中处理JS的警告,对话框等Android中的调试:一、加载Html的几种方法直接在...原创 2018-10-26 11:18:45 · 7006 阅读 · 0 评论