Android
文章平均质量分 50
nicolelili1
这个作者很懒,什么都没留下…
展开
-
性能优化总结
一、启动优化1、启动优化介绍app启动超过8s留存率就会流失70%。启动分为冷启动(Application及Activity生命周期都重启)、热启动(从后台变到前台)、温启动(不走Application生命周期,只是重新启动Activity的生命周期)需要优化的是Application和Activity的生命周期。2、启动测量方式测量应用启动开始到第一帧界面显示时的时...转载 2020-04-14 16:32:39 · 787 阅读 · 1 评论 -
如何查看阿里云的ip地址
通过ifconfig进行查看转载 2019-12-03 19:43:24 · 2912 阅读 · 0 评论 -
onPreviewFrame方法没有被调用
问题:设置preview的宽高为480x320cameral.setPreviewCallbackWithBuffer()方法必须设置addCallbackBuffer(buffers)后onPreviewFrame()方法才会被持续调用代码中正常设置了这两个方法,并且也添加并实现了回调方法实现接口:添加回调、设置buffer实现回调方法:...原创 2019-12-01 23:49:49 · 1547 阅读 · 0 评论 -
移动架构师之Messager框架与Messager接口笔记
一、Messager框架与Messager接口(一)(二)不同进程1、2、普通的框架3、强龙google定义的框架4、强龙google定义的Message框架1、(1)无标注版(2)标注版2、文字解释(三)二、(一)(二)(三)(四)三、(一)1、...原创 2019-10-20 13:45:46 · 214 阅读 · 0 评论 -
移动架构师之IBinder接口近程通信笔记
一、IBinder接口可以用于近程通信二、IBinder近程通信方法(一)(二)三、IBinder近程通信框架(一)IBinder近程通信框架图(二)代码(三)文字描述1、2、3、4、四、留意线程的角色(一)主线程中IBinder近程通信1、(二)...转载 2019-10-20 01:30:31 · 211 阅读 · 0 评论 -
移动架构师之AIDL与Proxy-Stub设计模式笔记
一、Stub类的框架(一)两层框架的EIT造形(二)Stub设计模式的EIT造形(三)Proxy-Stub框架的演进1、下面这种模式没有将myActivity与Interface完全隔开,所以这种方式不合适2、下面这种方式加了Proxy,便实现了将Interface与myActivity进行隔离(1)(2)(3)(四)And...转载 2019-10-20 00:30:02 · 345 阅读 · 0 评论 -
移动架构师之Android的UI框架笔记
一、(一)(二)类的体系(三)(四)(五)游戏类1、2、3、代码:4、(六)只诞生一次GameLoop对象1、2、3、二、SurfaceView的UI线程(一)View与SurfaceView的区别(二)1、2、3...转载 2019-10-18 23:15:00 · 141 阅读 · 0 评论 -
移动架构师之线程模式笔记
一、(一)线程的概念1、2、(二)1、2、3、二、Android的主线程(又称UI线程)(一)(二)1、2、3、(三)1、2、三、UI线程的角色(一)1、2、3、(二)1、2、四、线程间通信框架(一)线程间通信---子线...转载 2019-10-18 18:55:35 · 131 阅读 · 0 评论 -
移动架构师之JNI架构原理笔记
一、为什么,Android应用需要Java和C对接呢?(一)(二)于是Java与C就对接起来了(三)1、C、C++代码运行速度比较快2、C、C++已有很多现成的代码和功能二、EIT造形的Java实现三、EIT造形的C语言实现(一)(二)(三)(四)(五)1、2、3、二、...转载 2019-10-17 21:21:57 · 153 阅读 · 0 评论 -
移动架构师之进程与IPC架构笔记
一、IPC与进程(一)IPC概念(二)(三)(四)(五)1、2、3、4、二、设定IPC通信---使用AndroidMainfest.xml(一)(二)(三)(四)(五)三、IPC的IBinder接口--定...转载 2019-10-17 16:24:52 · 306 阅读 · 0 评论 -
移动架构师之Android框架笔记
一、认识框架1、<E&I>是框架的核心要素2、框架是EIT造形的组合3、在特定领域(Domain)里,将EIT造形的<E&I>部分有意义地组合起来,就成为框架(Framework)了4、基本的分工模式:(1)强龙定义<I>,并开发<E>(2)地头蛇开发<T>(3)<E&I>...转载 2019-10-17 00:45:08 · 373 阅读 · 0 评论 -
移动架构师之EIT造形与设计模式笔记
一、(一)模式(Pattern)是较大的结构(二)结构形式愈大,通用性愈小(三)从EIT造形,组合出设计模式1、对架构师来说,EIT是一种技能,是一种思考的能力。思考的能力才是架构师所要掌握的技能。设计模式只是架构师用来练习EIT造形模式的标的。2、相对于原子和分子,EIT造形属于原子层级,设计模式(Design Pattern)属于分子层级3、(1...转载 2019-10-16 15:40:05 · 430 阅读 · 0 评论 -
移动架构师之EIT开发笔记
一、内涵与类造型、EIT造型(一)内涵与类造型如:(二)内涵与EIT造型如:1、2、二、架构师的决策:将哪些内涵放入EIT造型里(一)内涵主要来源:需求知识1、最基本的内涵是来自需求(Requirements)和知识2、于是,将需求知识分为两种:(1)第一种需求知识-->称为基类的内涵(2)第二种需求知识...转载 2019-10-16 00:06:44 · 274 阅读 · 0 评论 -
Android架构之OOP、UML图、EIT笔记
一、OOP(一)1、控制反转(IoC:Inversion of Control)---基类的函数可以主动调用子类的函数,这就是典型的IoC机制---基类与子类之间,主控权是在基类手上,透过Hook函数来调用子类---通常基类是攥写在先,而子类则攥写在后,这种前辈拥有主导权,进而[控制]后辈之情形,就通称为[控制反转]2、APIAPI这个名词,有3个密切关联的动词...转载 2019-10-15 00:01:18 · 367 阅读 · 0 评论 -
ImageLoad图片设计框架
ImageLoad框架1、2、3、4、图片加载框架UML图二、转载 2019-10-13 02:47:42 · 154 阅读 · 0 评论 -
关于android中gridview的一点总结
1、在gridview中,如果使用的图片控件进行展示,则p原创 2014-06-30 17:53:44 · 628 阅读 · 0 评论 -
Android中常用的adb指令
1、安装apkadb install filename.apk如:adb install C:\Users\zhijianhulian\Desktop\keystore\kingoroot.apk2、卸载apkadb uninstall apk包名如:adb uninstall com.kingoroot.cn3、启动activityadb shell am start原创 2014-12-03 14:28:02 · 1211 阅读 · 0 评论 -
Superuser总结一
一、请求1、在控制台切换用户 如“su”或应用程序请求获取时都会在SuReceiver中收到信息,并将数据保存到数据库其中SuDatabaseHelper操作的uid_policy是保存root授权“允许”或“拒绝”的数据库SuperUserDatabaseHelper操作的log数据库是记录log日志的数库 public void onReceive(final Context原创 2014-12-19 18:39:44 · 1069 阅读 · 0 评论 -
android接收adb发送的系统广播及自定义广播
1、接收adb发送的系统的系统广播----屏幕变亮①在程序中写一个广播接收者接收改广播public class ScreeOnBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { System.out.pri原创 2014-12-05 14:34:59 · 5063 阅读 · 0 评论 -
Android监听时间变化的广播,只能动态注册
IntentFilter s_intentFilter;s_intentFilter = new IntentFilter();s_intentFilter.addAction(Intent.ACTION_TIME_TICK);s_intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED);s_intentFilter.addAct原创 2014-12-05 16:57:16 · 3728 阅读 · 0 评论 -
SuperUser总结二
1、class PolicyFragmentInternal extends ListContentFragmentInternalpublic class ListContentFragmentInternal extends BetterListFragmentInternal在类BetterListFragmentInternal中设置了子类所要展示的内容,并设置了listview的原创 2014-12-22 13:34:27 · 515 阅读 · 0 评论 -
自定义view总结一
自定义滑块如果通过继承view的形式自定义view的话,一般情况下需要复写onMeasure()和onDraw()方法一、构造函数 public MySliderButton(Context context) { super(context); init(context); } public MySliderButton(Context context, At原创 2014-12-22 19:08:29 · 483 阅读 · 0 评论 -
Superuser总结三
一、显示“允许”与“拒绝”的界面①进入程序时默认加载类MainActivity,而MainActivity默认继承类BetterListActivity,在BetterListActivity的onCreate()方法中 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIn原创 2014-12-25 14:32:06 · 706 阅读 · 0 评论 -
View的绘制总结一
Canvas拥有绘制无数图形的方法,比如绘制直线、正方形、三角形、圆角矩形、矩形等简单图形,其方法中的参数觉得图形的大小、位置等。Paint画笔可以设置绘制时图形的颜色、风格等,当绘制比较复杂的图形时,可以通过Path连接好各个坐标点,用canvas来绘制//设置画笔属性,包括画笔的颜色、粗细等 Paint paint = new Paint(); paint.setAntiA原创 2014-12-25 16:53:01 · 552 阅读 · 0 评论 -
Android Studio多渠道打包
1.点击Android Studio 右侧的Gradle --> 左上角刷新按钮 -->assemble则在 项目目录/build/outputs/apk 中将 buildTypes中定义的类型和productFlavors中定义的apk打包出来如果只生成release类型的apk,点击assembleRelease如果不想生成以unaligned.apk结尾的apk,在gradl原创 2016-03-01 18:12:43 · 375 阅读 · 0 评论 -
Android studio使用基础
1.android studio拆分窗口Window --> Editor Tab --> Split Vertical/Split Horizontally2.找不到libs目录android studio左上角选择project,切换工程显示方式后可以看到该目录3.找不到assets目录选中Anadorid Studio左侧的project目录 --> 按原创 2016-03-01 10:38:47 · 555 阅读 · 0 评论 -
减少集成google-play-service-lib后编译的apk的大小
只编译google-play-service的一部分 将compile 'com.google.android.gms:play-services:8.4.+'改为只编译所需导入部分的相应代码如 compile 'com.google.android.gms:play-services-ads:8.4.+'具体可以导入的部分:com.google.an原创 2016-03-01 10:43:59 · 3141 阅读 · 0 评论 -
GoPushCli客户端工作过程
//host 、 port 、key 、 heartbeat 、 listener1.new GoPushCli("localmsg.kingoapp.com", 8090, client_id, 30,listner)2.初始化时创建类HTTPInterfaces的对象interfaces3.获取SharedPreference原创 2016-04-13 10:55:18 · 683 阅读 · 0 评论 -
Android studio修改包名
一、修改手机、app市场识别的安装时的包名修改build.cfg中的defaultConfig文件中的applicationId的值,com.xxx.xxx即为安装时手机识别的包名二、修改文件所显示的包名1.点击android studio 中package右方雪花似的图标,将Compact Empty Middle Packages左边的对号取消掉,包原创 2016-07-22 15:31:56 · 647 阅读 · 0 评论 -
android6.0之下apk运行正常,6.0之后突然一直报需要某个权限且apk崩溃
https://developers.google.com/android/guides/permissions问题描述:一个apk在6.0之下运行正常,但是在6.0上运行一直崩溃,并且提示需要某个权限,但是该权限已经在AndroidMainfest.xml中声明。当apk安装的时候,弹出一个可以允许和拒绝权限的弹框,如果在这里运行该apk使用该权限,则apk则运行正常,否则继续崩溃。原创 2016-06-20 11:55:52 · 3703 阅读 · 0 评论 -
Android Studio中创建java项目
1.创建普通的android工程2.创建一个module3.module类型选择java library4.填写libary和class的名字5.生成的工程如图所示6.然后点击Run --- Edit Configurations...参考资料:http://www.cnblogs.com/halfmanhua转载 2016-09-01 14:34:32 · 2716 阅读 · 0 评论 -
Android 查看源码入门
context = getApplicationContext();context.startActivity(intent);原创 2016-09-13 15:11:51 · 594 阅读 · 0 评论 -
window7下配置下载android源码环境,安装Repo
1.下载Repo(基于git的仓库管理工具)1.1.下载:https://github.com/esrlabs/git-repo1.2.Repo的配置1.2.1.cmd启动命令控制台1.2.2.1执行命令md %USERPROFILE%\bin在重新执行一遍上面的命令,可以知道刚才所创建的完整路径目录”C:\Users\zjhl>md %USERPR原创 2016-09-13 18:57:07 · 10814 阅读 · 1 评论 -
Git指令入门
1.1 .花15分钟学习一下git的基础Git是一个分布式版本控制系统,它允许多人同时操作同一个文件并且相互之间并不影响。下面是一个名为“octobox”的命令终端。输入下面的命令可以初始化git仓库(点击git init,会在控制台输入相应的命令,输入问结果如图,返回success则表示命令运行成功)下一步,运行命令git stataus查看工程目前的状态翻译 2016-09-19 12:29:11 · 1587 阅读 · 0 评论 -
xposed的简单使用
1.创建android工程,并在AndroidMainfest.xml中配置2.创建lib文件夹并将xpost的jar包添加到该文件夹中3.在工程中创建一个用于加载xpost框架的入口类Main,并在这个类中复习方法handleLoadPackage(),并在该类中处理要执行的方法,XposedBridge.log()方法会将日志写在Xposed Install原创 2016-07-15 18:59:34 · 1386 阅读 · 0 评论 -
GitHub使用入门
项目Hello World 是电脑编程的经典。这是学习新东西时的简单练习。让我们开始学习GitHub吧!你将学到:创建和使用仓库创建和管理一个新的分支提交改变的文件到GitHub打开和合并拉取的内容GitHub是什么?GitHub是一个版本控制和分享的代码托管平台。它允许你和其他任何地方的人一起操作同一个项目。这个教程教会你像仓库、分支、提交、拉取等基本操作翻译 2016-09-20 18:57:01 · 439 阅读 · 0 评论 -
xposed之hook自身apk之外的apk中的方法
被hook的apk正常显示的界面其中,在查询数据库结束之后会调用MainActivity中的finishSetting()方法,隐藏progressbar、显示相对应的listview并更新listview中的内容 private void finishSetting(){ //取消progressbar的动画及隐藏progressbar ivLoa原创 2016-09-08 15:50:58 · 10611 阅读 · 0 评论 -
Android Studio中将一个android工程打成.aar包或者jar包
1.创建一个android工程,此时module层的build.gradle文件中apply plugin和applicationId都存在,是创建时默认生成的此时点击右侧的assembleRelease原创 2016-11-15 12:12:47 · 12698 阅读 · 0 评论 -
android使用讯飞SDK做语音识别
1.登陆界面http://www.xfyun.cn/,并注册2.点击右上角的图标,弹出下拉框,选择创建应用3.按要求填写并提交4.然后点击立即开通5.选择所要添加的业务,并点击确定6.在跳转后的界面选择SDK下载7.选择所需要的服务、平台和应用,并点击下载8.下载完成9.10.原创 2017-03-28 18:55:56 · 11906 阅读 · 12 评论 -
Google Cloud Speech API服务账号创建
1.创建服务账号打开网址:https://console.cloud.google.com/apis/credentials?_ga=1.42445669.1342961237.1490755365&project=kingo-superuser,点击Create credentials,在下拉菜单中选择Service account key2.在创建服务账号的密钥原创 2017-03-29 17:26:08 · 3942 阅读 · 0 评论