
安卓基础
文章平均质量分 57
安卓阿哲
这个作者很懒,什么都没留下…
展开
-
安卓handler机制
安卓自从设计之初,为了避免主线程卡顿的问题,禁止在主线程种进行网络请求;禁止在子线程更新ui,避免UI错乱。为了子线程、主线程间通信,设计了handler机制。handler机制是面试必考的科目,考察求职者理解深度、表达能力的,总结一下。 借用的别人的图,表达的已经很详细了。 补充一个阻塞式循环知识点:主线程的死循环一直运行是不是特别消耗CPU资源呢? 其实不然,...原创 2018-10-31 13:33:17 · 210 阅读 · 0 评论 -
APPLICATION学习笔记
不说话,看图转载 2019-01-11 17:43:59 · 181 阅读 · 0 评论 -
webview使用注意问题
WebViewClient.onPageFinished()。你永远无法确定当WebView调用这个方法的时候,网页内容是否真的加载完毕了。当前正在加载的网页产生跳转的时候这个方法可能会被多次调用,StackOverflow上有比较具体的解释(How to listen for a Webview finishing loading a URL in Android?), 但其中列举的解决方法并不...转载 2019-01-13 09:50:49 · 246 阅读 · 0 评论 -
webview安全问题
0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者简单的展示一些在线内容等。WebView功能强大,应用广泛,但它是天使与恶魔的合体,一方面它增强了APP的上网体验,让APP功能更多样化,另一方面它也引入了很多的安全问题。在过去几年WebView中被披露的重大漏洞包括了任意代码执行漏洞...转载 2019-01-13 09:56:43 · 1192 阅读 · 0 评论 -
Android组件化和插件化开发
Android组件化和插件化开发什么是组件化和插件化?组件化和插件化组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。插件化开发和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模...转载 2019-01-13 10:03:39 · 359 阅读 · 0 评论 -
程序锁逻辑
之前做的一个程序锁逻辑功能,重新整理了一下,有许多知识点,很不错,值得经常反思学习。程序锁功能简介:在app中程序锁界面,罗列app所有已安装app。如果对某个功能加锁,每次打开对应的app就要输入密码,达到保护隐私的目的。知识点在清单文件中增加 gettask权限新增开关,开启服务、关闭服务新增service开启看门狗,监视系统运行状态开启子线程不停循环activym...原创 2019-01-13 10:14:18 · 578 阅读 · 0 评论 -
自定义控件流程
看慕课网的视频,整理了自定义控件的流程,从自定义属性、测量、布局、绘制、手势事件、事件拦截等多个步骤。 1.自定义属性的声明与获取 分析需要的自定义属性,在res/values/attrs.xml定义声明,在layout xml文件中进行使用,在view的构造方法中获取。 2.测量 3种测量模式:exactly、at_most...原创 2019-01-09 15:50:02 · 634 阅读 · 0 评论 -
AIDL机制详解
一、背景 ·1、AIDL出现的原因 在android系统中,每一个程序都是运行在自己的进程中,进程之间无法进行通讯,为了在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作,实现IPC(进行间的通信)与J...原创 2019-01-09 17:03:16 · 320 阅读 · 0 评论 -
ANR原因及预防
ANR的全称是application not responding,意思就是程序未响应,类似于我们在windows上见到的程序未响应。ANR发生会使用户觉得我们的程序不友好,那么什么情况会导致ANR的发生呢?首先ANR的发生是有条件限制的,分为以下三点:1.只有主线程才会产生ANR,主线程就是UI线程;2.必须发生某些输入事件或特定操作,比如按键或触屏等输入事件,在BroadcastR...转载 2019-01-09 17:12:23 · 354 阅读 · 0 评论 -
华为手机运行崩溃不显示报错信息的解决办法
用华为手机做开发的同学很可能都会遇到这样一个问题,就是程序出错了,但是却没有log错误信息输出,刚开始我也很懵逼,没搞懂怎么回事,回来问了一下别人,才知道需要这样进行设置。这里记录一下。拨号键盘输入* #* #2846579#* # * ,然后选择ProhectMenu,然后后台设置,然后LOG设置,LOG打开4.0以上的系统勾选【AP日志】【CP日志】...转载 2019-01-23 09:12:29 · 971 阅读 · 0 评论 -
Android 系统整体架构
前言看了Gityuan大神的博客,最近因为遇到一些工作上的问题踩了坑,决定正式开始阅读Android framework层源码,当然后面可能还会经历一个多月的毕设流程,等毕业回来工作也正式要迈上正轨了,好几个月没写博客了,前段时间因为感情上的问题消沉了几个月,好在现在走出来了,其实很早以前就想阅读framework了,趁着这段时间就开始吧。今天这篇文章主要梳理下Android整体的架构和系统启...转载 2019-01-17 11:12:24 · 247 阅读 · 0 评论 -
安卓混淆语法、关键字、模板
Android 混淆语法介绍首先我们先来看一下 keep 关键字关键字 描述keep 保留类和类中的成员,防止被混淆或者移除keepnames 保留类和类中的成员,防止被混淆,但是当成员没有被引用时会被移除keepclassmembers 只保留类中的成员,防止他们被混淆或者移除keepclassmembersnames 只保留类中的成员,防止...原创 2018-12-13 16:57:52 · 615 阅读 · 0 评论 -
git常用语法
关于版本管理,不同的项目组都会用到。SVN、GIT用的比较多,有不同系统工具软件,也可以使用命令,ide也会内置版本管理软件。 git常用命令,总结一下,以备开发的时候用到。git总结:git init:初始化git仓库 git add filename:将文件提交到暂存区 git commit -m "":将文件提交到当前分支 git status:查看git信...转载 2018-12-13 16:38:30 · 132 阅读 · 0 评论 -
【腾讯Bugly干货分享】Android进程保活招式大全
【腾讯Bugly干货分享】Android进程保活招式大全本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ac4a0ea374c75371c08ce8作者:腾讯——张兴华目前市面上的应用,貌似除了微信和手Q都会比较担心被用户或者系统(厂商)杀死问题。本文对 Android 进程拉活进行一个总结。Android ...转载 2018-10-31 13:35:05 · 150 阅读 · 0 评论 -
安卓图片加载框架选型
前言图片加载在 Android开发项目中非常常见,为了降低开发周期和难度,我们经常会选用一些图片加载的开源库,而现在图片加载开源库越来越多,我们应该选用哪种呢?今天我就给大家分别介绍 & 对比现今主流的图片加载框架。目录图片加载开源库.jpg1. 主流的图片加载库-介绍从Github上的Star数排序来看,现在主流的Android图片加载库有Universal-...转载 2018-10-30 14:58:14 · 252 阅读 · 0 评论 -
安卓网络框架比较
引言目前网络请求框架也比较多,本文针对封装的比较完善的Volley,Okhttp,Retrofit研究比较了,才知道选择哪个最适合。基础HttpUrlConnection,android-async-http,httpclient(高版本废弃),xUtils3(作用广泛而不精),不讨论。一.Volley来源: Volley详解google推出的异步网络请求框架和图片加载框架。特...转载 2018-10-30 15:11:09 · 507 阅读 · 0 评论 -
网络框架比较(二)
自己重新整理了一份网络框架比较,对比了多个框架。目前使用的比较多的volley、okhttp、retrofit,从官网找了资料,根据demo和总结,最终形成了表格。项目中volley部分机型、特定网络就会卡顿,特别慢。retrofit要定义接口,建议和rxjava一起使用,看是否习惯,是否容易上手。推荐使用okhttp,方便封装调用。安卓网络框架比较 说明:网络...原创 2018-11-13 13:56:47 · 311 阅读 · 0 评论 -
安卓安全探究
1 SSL证书有效性检测 建议使用真实的ssl证书,提高通讯安全性2 进程安全 动态注入防护检测:原因:给Android应用加壳是保护Android应用的常见方法。侠义上的Android加壳,只是将Android源代码隐藏起来,骇客仍然可以通过静态或者动态调试的方法获取到Android应用的源代码。因此,在加壳的同时增加反调试功能能够有效的对抗骇客的入侵行为。常见的反调试思路有:1...原创 2018-11-13 14:03:38 · 158 阅读 · 0 评论 -
app安全
五大反逆向技术:代码混淆、针对不同逆向工具保护技术、增加逆向难度(java代码native化)、动态加载技术、代码验证技术代码混淆:工具:proguard常用操作:保留选项、压缩、优化、混淆。功能:混淆代码(注意使用混淆文件的时候需加入自己的具体操作以防程序无法运行)删除无用Log:可删除调试和分析代码逻辑时的log,也可删除不使用的调试接口和测试环境问题:混淆...转载 2018-11-14 11:40:47 · 203 阅读 · 0 评论 -
Android中Sqlite的使用及性能优化
使用可以使用安卓原生的工具类:SQLiteOpenHelper 抽象类:通过从此类继承实现用户类,来提供数据库打开、关闭等操作函数。SQLiteDatabase 数据库访问类:执行对数据库的插入记录、查询记录等操作。SQLiteCursor 查询结构操作类:用来访问查询结果中的记录。也可以使用greendao等三方框架,类似于后台开发数据库的操作,赋值给对象,在数据库中对对象进行增...转载 2018-12-03 15:50:55 · 187 阅读 · 0 评论 -
安卓图片加载优化
慕课网视频笔记,老师讲的很好,总结下笔记。图片存储优化:1.使用webp类型替换jpg png图片类型。2.图片压缩加载,关键字有:insamplesize、 injustdecodebonds。3.压缩图片解码率。用rgb_555替换rgb_8888,去掉透明度通道,减小压缩体积。4.inBitmap属性,图片复用内存,复用的图片尺寸要小于制定图片的尺寸,需要设置,用的比较少...原创 2018-12-19 14:57:49 · 292 阅读 · 0 评论 -
AS修改代码不生效的问题
问题:修改代码不执行的问题踩坑记录:1、配置文件 allowbackup 为false,没效果2、gradle版本 3.0.1改为3.2.0,没效果3、必须clean4、不clean,xml 生效 https://blog.youkuaiyun.com/l_o_s/article/details/830268765、三方插件https://www.jianshu.com/p/...原创 2019-03-22 16:13:23 · 1409 阅读 · 0 评论