![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ANDROID学习
七七&小鱼
如果有一天你发现日子特别艰难,那可能是这次的收获特别巨大
展开
-
创建一个适用于android工程的maven库
最近希望将自己的项目组件化,参考了一些网上的文章。第一步,先创建一个maven仓库以便不同工程使用。我们使用Artifactory进行管理,先下载, 解压,运行bin\artifactory.bat即可启动Artifactory。 然后运行http://localhost:8081/artifactory/webapp/#/home,可以看到已经运行成功了。 然后我们建立3个工程,分别是Main原创 2017-06-23 16:58:40 · 1719 阅读 · 0 评论 -
Android性能调试工具的使用
一、TraceView工具traceview是常用的调试工具之一,下面来通过例子描述下。在4.4的开发者模式中打开GPU呈现模式分析,设置为按线条,然后下面会出现一串的柱状图,大致有三种颜色,蓝色、红色、黄色。另外有一条绿线。(蓝色)Draw:表示在Java中创建显示列表部分中,OnDraw()方法占用的时间。比如你在一个列表的生成函数里加入了sleep,会发现蓝色部分会很长。 (红色)Proces原创 2015-10-14 16:24:04 · 648 阅读 · 0 评论 -
如何设计一个app
1.首先确定app是给哪个目标群体用的?其满足了他们什么需求。 2.明确了之后。写功能表,包括前台后台所有的功能点。并分成不同的模块。 3.根据功能、用户数、时段并发量等因素确定后台所采用的架构,比如分布式、按服务分开部署、按节点分开部署等,是否需要采用负载均衡等。 4.根据需求选用不同的后台,比如php+mysql或者ssh+orcale等。 5.确定后后台人员开始根据需求编写接口表,将接原创 2015-10-12 20:30:02 · 593 阅读 · 0 评论 -
DLNA DMR实现
由于机顶盒行业的管制日趋严厉,从手机上推送视频到电视上观看成为一个需求,所以需要开发一个dlna服务端。先了解下DLNA,抄一段网上的定义:DLNA协议定义了一种通用的行业规范,目的是让电子设备之间可以方便地共享照片、视频、音乐等多媒体内容。简单的说,是个共享东西的协议。DLNA协议是建立在UPnP协议的基础上的,它依靠UPnP协议来完成设备的搜索、发现和控制,DLNA协议在此基础上对多媒体设备进行原创 2015-09-24 15:20:26 · 12430 阅读 · 2 评论 -
retrofit熟悉
Retrofit学习原创 2017-08-30 17:22:11 · 590 阅读 · 0 评论 -
android的性能优化和应用体验改善
这里指的性能优化不是系统本身启动速度之类的优化,而是对于普通app而言。通常apk编译之后,如果是系统默认应用,开启ODEX enable之后编译,会生成apk和odex文件,前者包含了资源文件和签名信息,后者则包含了优化过的代码。如果是eclipse或者ant等三方工具生成的apk,则会在第一次安装进手机的时候生成odex放在/data/diavik-cache目录下由于android采用了dal原创 2015-09-28 15:37:05 · 588 阅读 · 0 评论 -
Application启动过程初探
Application的启动过程原创 2017-02-14 18:45:32 · 4086 阅读 · 0 评论 -
关于混淆时遇到的问题
ProGuard indexDexGuard GuardSquare Sourceforge <a class="largebutton" target="_top" href="../index.html#manual/troubleshooting.html">ProGuard index&转载 2016-11-24 14:37:13 · 14317 阅读 · 3 评论 -
关于应用性能检查的几个文章
1.利用mat工具来检查内存泄漏链接:http://jingyan.baidu.com/article/fec7a1e5f1c7291190b4e796.htmlhttp://www.jianshu.com/p/c49f778e7acf2.分析可以优化的地方lint for android studio工具在性能测试之前,首先要对工程源码进行原创 2016-04-05 17:41:16 · 394 阅读 · 0 评论 -
android插件化实践之路-1
滴滴插件化方案学习原创 2017-07-05 17:04:48 · 443 阅读 · 0 评论 -
如何编写Android.mk(转)
发现这篇文章挺实在,转。。。。android编译系统makefile(Android.mk)写法android编译系统的makefile文件Android.mk写法如下(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下 Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式: LOCAL_PATH:=$(call my-dir)转载 2015-09-24 15:58:08 · 650 阅读 · 0 评论 -
Android系统启动流程
android启动整个流程细节很多,大致的流程今天归纳了下,如下图。原创 2015-09-08 15:21:25 · 419 阅读 · 0 评论 -
Android按下一个按键发生了什么
安卓中按键事件的处理跟其他触摸事件的处理是类似的,如下图:原创 2015-09-28 14:04:15 · 565 阅读 · 0 评论 -
如何让一个应用更好的适配不同分辨率的屏幕
安卓的手机碎片化程度严重,所以我们经常会不得不面对这样的情形:布局变形。 以下是工作中总结的一些常用避免方法: 1.根据density不同将布局放在不同的文件夹下,如mdpi、sw600dp等。density的意思是每英寸的像素数目,所以看起来不同大小的屏幕可能density是一致的。2.尽量使用dp,sp等单位,因为他们能随着density的变化而呈现不同。3..9图片的使用会减少工作量,它可原创 2015-09-29 15:43:03 · 1879 阅读 · 0 评论 -
安卓应用安全防护
在开发过程中,我们总是想保护自己的产品不被盗用或者滥用。比如被插播小广告,比如被植入病毒,如下是我觉得比较有用的保护措施,可能流于皮毛。1.混淆:最基本的方式,虽然在反编译软件面前无法阻挡,但是合理设置参数,可以让他变成类似A a()这样的东西,估计没人喜欢看了。2.签名:用自己保管的签名文件签名。3.JNI中放置重要代码:由于so库比较难反出可阅读的代码,所以将重要的步骤放里面是个不错的选择,上层原创 2015-09-30 15:54:21 · 480 阅读 · 0 评论 -
准备ndk环境
今天换台电脑,上面什么都没,只好又整理了一遍ndk的东西,记下来吧,免得下次又去找。首先准备下环境, eclipse和sdk装好后,去google网站下ndk,解压。设置PATH变量,将eclipse的window-》Preference-》Android-》NDK设置成正确路径。然后测试环境,把ndk中的sample:hellojni导入eclipse,右键添加native support.原创 2015-09-15 12:11:59 · 460 阅读 · 0 评论 -
安卓Build中的makefile调用流程
基于4.4版本的代码整理出来的build目录下的mk文件调用流程由于有时候需要修改或者增加mk文件中的一些变量,以达到修改系统property的效果。因此大致整理了海思3798M平台4.4版本的调用流程。如下图:原创 2015-09-24 10:59:29 · 686 阅读 · 0 评论 -
Android中View的加载和显示
Android中View是UI中最基本的widget,下图显示了它从被创建到显示的过程。原创 2015-09-24 11:09:48 · 570 阅读 · 0 评论 -
Activity的启动过程
以前画的一个流程原创 2015-09-24 10:47:13 · 367 阅读 · 0 评论 -
PowermanagerService的sleep和wakeup流程
作为一个掌管power的类,我们平时肯定要与之打交道,在手机研发的时候有时会遇到耗电一直过大,或者睡眠不下去的现象,有可能是某个应用的锁没对应释放,抑或其他原因,下面是wakeup和sleep的流程,仅供参考图片可以下载来本地看,m否则会被压糊掉。原创 2015-09-08 15:33:04 · 1112 阅读 · 0 评论 -
GPS定位以及更新流程
一个手机定位一般有三种方式: 1.通过纯gps。 2.通过agps辅助gps定位 3.纯粹网络,比如wifi或者基站定位三者的优缺点这里不说了,这里主要看下gps在安卓里是如何工作的。老规矩直接上以前画的图。。可以下载下来看比较清楚。在systemServer启动的时候初始化了LocationMangerService。 当用户启动定位功能时。进入GpsLocationProvider:ha原创 2015-09-08 16:13:01 · 2137 阅读 · 0 评论 -
android Telephony结构
接触到安卓时最早接触的模块,那时还是通过反编译得到的google源码,感谢工作中曾经的两位领导,是他们帮助一个毛头小伙慢慢进入这个行业。上图是通信这个模块的大致结构图,当然指的是ap这边的,modem那边的无能为力,太高端。。大致分为三个模块: 1.作为app层面的电话,短信,上网控制,以及stk应用,以及一些作为调用framework层的接口。2.作为Framework中的模块,基本上就是上图黄原创 2015-09-08 14:08:11 · 663 阅读 · 0 评论