E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
[Android进阶]
Android进阶
——性能优化之APP启动速度优化实战总结(三)
文章大纲引言一、确定启动时间1、API19之后直接使用Displayed过滤Log和配合reportFullyDrawn1.1、DisplayTime1.2、reportFullyDrawn()2、通过AMshell命令——adbshellamstart-W包名/包名的apk计算启动时间二、通过trace文件日志精准定位找出造成性能不佳的罪魁祸首1、生成trace文件1.1、通过代码直接生成1.2
CrazyMo_
·
2018-05-09 13:38
Android
进阶
Android性能优化
Android 文件IO操作
1.
Android进阶
之路——文件读写https://www.jianshu.com/p/4c020b45f9e32.文件操作工具类FileUtilshttps://blog.csdn.net/github
一点一滴地累积
·
2018-04-28 03:28
Android
Android进阶
-自定义view(2)(DrawPath)
@RequiresApi(api=Build.VERSION_CODES.LOLLIPOP)publicclassDrawPathextendsView{publicDrawPath(Contextcontext){super(context);}publicDrawPath(Contextcontext,@NullableAttributeSetattrs){super(context,attr
丶ban
·
2018-04-26 14:38
Android进阶
Android进阶
-自定义view(1)
源码方式publicclassBanViewextendsView{Paintpaint=newPaint();publicBanView(Contextcontext){super(context);}publicBanView(Contextcontext,@NullableAttributeSetattrs){super(context,attrs);}publicBanView(Conte
丶ban
·
2018-04-26 11:34
Android进阶
Android进阶
之路 - zxing二维码扫描与生成
万年之前就想写篇文章记录一下二维码功能的实现,没想到一拖就到了现在,对了今天是周六~~~现在网上有很多的关于扫码的三方库,当然这些都是基于zxing这个框架去扩展的,我这这里记录俩种方式,一种满足与基本需求,另外一种满足一些扩展性的需求,使用起来比使用zxing方便一些,毕竟进行了二次封装。提前注意→权限申请借鉴文章→github地址所遇问题小米手机扫描二维码崩溃(权限问题)山寨zxing(效果一
Modu_MrLiu
·
2018-04-21 18:02
Android进阶之路
#
三方框架
ListView和GridView的缓存机制及measure过程
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html在Android开发中我们经常使用ListView和GridView,它们都有一套缓存机制
Bennu-Cui
·
2018-04-20 10:05
android
Android进阶之路
Android进阶
--知识点总结
原文地址:https://blog.csdn.net/H176Nhx7/article/details/79956377技能储备(一)Java一、HashMap和Hashtable区别?这个一定要去看源码!看源码!看源码!实在看不下去的可以上网看别人的分析。简单总结有几点:1.HashMap支持nullKey和nullValue;Hashtable不允许。这是因为HashMap对null进行了特殊
dodod2012
·
2018-04-18 15:32
Android进阶
Android中如何使控件保持固定宽高比
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html我们在android开发过程中可能会遇到一种情况,一个组件需要保持固定的宽高比,但是组件本身大小却不定
Bennu-Cui
·
2018-04-18 10:56
android
Android进阶之路
解读ImageView的wrap_content和adjustViewBounds的工作原理
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.htmlImageView是android开发过程中经常会使用的一种组件,由于android
Bennu-Cui
·
2018-04-17 10:27
android
Android进阶之路
非UI线程下页面处理:view的postInvalidate和post对消息处理的差异化
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html我们知道view有一系列post方法,用于在非UI线程中发出一些页面处理。
Bennu-Cui
·
2018-04-16 11:01
android
Android进阶之路
Android进阶
- 二维码扫描
scan_bg.jpg摘要最近,在公司项目上需要加入“二维码扫描”的功能(Android端),笔者在网上查阅了一些资料,实现了这个功能。最后给自己做个笔记,给各位做下分享。原理说明“二维码扫描”实际上就是通过手机相机扫描『二维码图片』,将『二维码图片』中的字符串数据通过解码的方式解析出来。实现方式借助开源库ZXingAndroidEmbedded实现二维码扫描。Github地址:https://g
梦想编织者灬小楠
·
2018-04-10 13:41
责任链模式
Android进阶
之设计模式责任链模式定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,只到有对象处理它为止.使用场景:多个对象可以处理统一请求
YoungerDev
·
2018-04-09 08:24
Android进阶
AIDL使用自定义类型
原文首发于微信公众号:jzman-blog,欢迎关注交流!上篇文章中主要介绍从AIDL的使用方式以及Android开发中不同进程之间的通信,遗留的问题是如何在AIDL中使用自定义类型,具体步骤如下:1.创建自定义类型2.声明自定义类型3.定义与自定义类型相关的业务4.重写业务实体类5.远程调用6.验证AIDL1.创建自定义类型自定义类型传输的就是一个实体对象,这个实体类必须实现Parcelable
躬行之
·
2018-04-08 00:00
享元模式
Android进阶
之设计模式享元模式定义:使用共享对象有效地支持大量细粒度的对象.享元模式是池技术的重要实现方式,它可以减少应用程序创建的对象,降低程序内存的占用,提高程序的性能.使用场景:系统中存在大量的相似对象
YoungerDev
·
2018-04-07 11:03
Bundle/Intent传递序列化参数暗藏杀机!
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html前几天一个朋友跟我说了一个诡异且恐怖的事情,有个人用了几行代码就让他们的app歇菜了
Bennu-Cui
·
2018-04-03 10:35
android
Android进阶之路
Android进阶
之AIDL的使用详解
原文首发于微信公众号:jzman-blog,欢迎关注交流!AIDL(Android接口定义语言),可以使用它定义客户端与服务端进程间通信(IPC)的编程接口,在Android中,进程之间无法共享内存(用户空间),不同进程之间的通信一般使用AIDL来处理。主要流程就是在.aidl文件中定义AIDL接口,并将其添加到应用工程的src目录下,创建完成之后rebuild,AndroidSDK工具会自动生成
躬行之
·
2018-03-20 22:00
Android进阶
之IntentService 源码解析
先来介绍下intentService和Service的区别IntentService继承与Service与Service有着相同的生命周期和方法,区别就在于IntentService是google工程师看到我们经常在Service里面做一些耗时的操作就帮我们封装一下,如果不封装自己使用Service+Thread+Handler或者Service+HandlerThread也能实现。也就是说与se
就不呵呵呵
·
2018-03-18 11:43
android
探索startActivity流程及在Activity间是如何传递Intent的
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html在activity中intent到底是怎么传递的,而且还可以跨进程甚至跨app来传递
Bennu-Cui
·
2018-03-06 16:02
android
Android进阶之路
启动模式
1、
Android进阶
系列之启动模式2、Android深入解析Activity的launchMode启动模式,IntentFlag,taskAffinity心得:Aactivity启动Bactivity
leoryzhu
·
2018-02-27 09:58
Android进阶
之路 - 拉伸的弹簧效果
因为在一些app中看到了图片的下拉放大,同时自带回弹的效果,所以在网上找了一个,同时尝试实现了一下,勉强满足基本需求,所以在此用于记录,可直接copy使用--~目录图片下拉回弹效果上下拉伸弹簧效果图片下拉回弹效果Effect1(图片下拉回弹效果)注意点:使用该控件之后会发现顶部可能有一些留白,可以通过marginTop的负值进行弥补,如下//设置在ScrollView的外布局或内布局的最外层布局a
Modu_MrLiu
·
2018-02-08 15:44
Android进阶之路
Android进阶
之路 - BottomNavigationView的使用与问题处理方案
底部导航的实现之一为BottomNavigationView,乃是design库下的一款控件,或为Android5.0的一种,同时根据某篇博文介绍说sdk25以后才可以使用,最好相对高于25.1,因为有一些问题没有处理好。闲话不多唠,此篇文章是根据多篇博文,进行总结性的一篇记录,其中的知识点都已经手动敲打过一次,请继续前行!Effect:1.build引入:compile'com.android.
Modu_MrLiu
·
2018-02-02 16:54
#
5.0丶6.0丶7.0新特性
浅谈
Android进阶
之路
过去十年是移动互联网蓬勃发展的黄金期,相信每个人也都享受到了移动互联网红利,在此期间,移动互联网经历了曙光期、成长期、成熟期、现在来说已经进入饱和期。依然记得在2010-2013年期间,从事移动开发工作不知有多火,有工作1-2年经验的开发者薪资基本是上万,对招的人专业素质要求也不高,入门即可。从2016年底至今来看,局面而是另外一番景象,移动开发市场过度饱和,市场上充斥着太多初级开发者,网上一直流
cryAllen
·
2018-01-31 23:00
Android进阶
——Small源码分析之启动流程详解
前言插件化现在已经是Android工程师必备的技能之一,只是学会怎么使用是不行的,所以蹭有时间研究一下Small的源码。对于插件化主要解决的问题是四大组件的加载和资源的加载,读懂所有Small源码需要对插件化四大组件的Hook知识和资源加载要有了解,否则是无法看得懂里面的内容的。这篇文章只是对Small的阅读源码启动流程进行分析,详细的细节还是需要通过Debug在例子中去调试才能知道很多东西。在学
Hensen_
·
2018-01-30 20:12
Android进阶
之路 - 引导页的详细使用(全屏展示,不显示短暂空白布局)
引导页,主要作用在于让用户短时间了解我们的app作用范围在哪里,同时宣扬自己的品牌或者使用说明。引导页过渡之后为启动页Demo下载地址,可查看具体代码,但因个人原因,暂无法运行。Effect:准备工作:资源文件存储于res-drawable下1.指示器的俩种颜色guide_indicator_dark.xml(蓝色-选取色):guide_indicator_light.xml(白色-未选取色)2.
Modu_MrLiu
·
2018-01-18 16:05
Android进阶之路
android进阶
之Watchdog检查系统异常机制
Watchdog简介Watchdog是Android系统提供的以后总检查系统异常的机制,正如其名,“看门狗”,它看的是Android框架层的几个核心服务。Watchdog一旦发现的AMS、WMS和PMS等核心服务的主线程阻塞,就清除systemserver进程,我们知道,一单SystemServer进程停止,Zygote进程就会自杀,系统就会重启。Watchdog继承Thread,它是一个线程类,
XuJiaoJie
·
2018-01-18 11:26
android进阶
我的
Android进阶
之旅------>经典的大牛博客推荐(排名不分先后)!!
天看到一篇文章,收藏了很多大牛的博客,在这里分享一下谦虚的天下柳志超博客Android中文WikiAndroidStudio-NDK开发-移动开发团队谦虚的天下-博客园gundumw100博客-
android
qq_35661171
·
2018-01-17 16:02
Android进阶
之旅 - Kotlin 开发实战篇
1.Kotlin简介Google在去年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿Android的人,我们必须尽快了解和使用Kotlin语言,它就像是iOS的Swift我们迟早得学这是逃不掉的,只不过这过程对于很多人来说比较漫长。不过Kotlin毕竟是语言级别的新事物,比起Java来说,从编程思想到代码细节都有不少变化,我们最好先对Kotlin有个整
红橙Darren
·
2018-01-16 17:31
Android进阶
之路 - EditText光标颜色与下划线颜色的设置
面对这样的需求:改变光标颜色,改变下划线颜色,面对这样的需求,我只能说…好吧…Effect:[外链图片转存中…(img-rknphmSY-1569574773087)]1.设置全局EditText光标颜色先找到manifests上文中的这行代码“android:theme="@style/AppTheme",查看AppTheme的属性@color/colorPrimary@color/colorP
Modu_MrLiu
·
2018-01-16 15:28
Android进阶之路
Android进阶
——框架打造之RecyclerView框架
前言RecyclerView已经完全替代了ListView的开发,其强大之处在于性能、内存、使用、灵活、丰富的API、动画、事件处理上都可以完美的体现出来,对于开发者来说RecyclerView是必须精通的一关,其主要的学习可以分为下面几大部分,在这几大部分中,还有很多需要解决的Bug和坑等着你,幸好的是有很多前辈已经实现大部分的功能和越过大部分的坑,学习这部分的内容完全就是去靠开源框架阅读来实现
Hensen_
·
2018-01-07 01:54
线程同步,同步锁,重入锁、条件对象
(借鉴自刘望舒的
Android进阶
之光)这个很好理解,有些资源是不安全的,如果多个线程同时访问会引起结果的错误,所以我们需要给他加一个同步锁。
徐乙
·
2017-12-28 16:14
java
Android进阶
——借助简单便捷的ActivityLifecycleCallbacks实现全周期监听Activity
引言在开发中由于业务的需求,我们需要在Activity对应的生命周期方法中去完成对应的工作,比如说需要在Activity的onResume中注册某个SDK或者广播接收器、抑或是尝试打开Camera、判断app是否在后台运行除了令人蛋疼的判断当前runningProcess或者runningTasks方法等,然后在Activity的onPause()中及时注销或释放掉,以前也许会在每个Activit
CrazyMo_
·
2017-12-22 17:41
Android
进阶
Android系统组件使用
Android中Intent/Bundle的通信原理及大小限制(Parcelable原理及与Serializable的区别)
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html我们知道可以通过Intent和bundle在activity或fragment间进行通信
chzphoenix
·
2017-12-20 16:51
Android中Intent/Bundle的通信原理及大小限制(Parcelable原理及与Serializable的区别)
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html我们知道可以通过Intent和bundle在activity或fragment间进行通信
Bennu-Cui
·
2017-12-20 16:15
android
Android进阶之路
Android进阶
之使用时间戳计算时间差
本文实例为大家分享了Android使用时间戳计算时间差的具体代码,供大家参考,具体内容如下因当前项目需要计算时间差,进行数据处理,所以在Csdn上找了一下,之后修修补补是可以用的,建议大家如果用到项目中的话,可能需要把老的时间戳或者时间format存储在文件或者sp中,之后用于判断,然后进行自己的逻辑处理。Effect:Log执行:注:这个可以自己简单封装下,比较简单。MainActivity:p
Mr-Man
·
2017-12-18 16:14
Android进阶
之Spinner下拉框的使用方法
Spinner有俩种实现方式,除去存储数据与读取数据不同的话,其他并没有什么区别Effect:第一种:在Res目录下,找到values文件夹下arrays.xml进行资源存储今日昨日本周上周本月上月在代码中读取资源:String[]mItems=getResources().getStringArray(R.array.state);第二种:在代码中进行数据源的存储与读取,这篇文章中我将使用这种方
Mr-Man
·
2017-12-18 16:27
(源码分析)ScrollView嵌套ListView/GridView的滑动事件处理
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html开发过程中经常会遇到使用scrollview嵌套listview或gridview
Bennu-Cui
·
2017-12-15 17:40
android
Android进阶之路
Android进阶
八:RecyclerView自动滚动
smoothScrollToPosition()在使用RecyclerView的时候,有一些场景需要RecyclerView能自动滑动到指定的item,这种情况可以调用RecyclerView的以下方法来实现:scrollToPosition(intposition)smoothScrollToPosition(intposition)这两个方法传入需要滑动到的item的position就可以实现
逆风Lee
·
2017-12-11 22:14
进阶
Android进阶
七:RecyclerView拖动滑动之ItemTouchHelper
ItemTouchHelperItemTouchHelper是一个强大的工具,它处理好了关于在RecyclerView上添加拖动排序与滑动删除的所有事情。它是RecyclerView.ItemDecoration的子类,也就是说它可以轻易的添加到几乎所有的LayoutManager和Adapter中。它还可以和现有的item动画一起工作,提供受类型限制的拖放动画等等,类介绍主要涉及到ItemTou
逆风Lee
·
2017-12-10 21:13
进阶
Android进阶
——布局优化之灵活借助ViewStub实现懒加载
引言相信在开发AndroidApp的过程中,我们会常常遇到这样的业务需求,需要在运行时根据数据动态决定显示或隐藏某个View和布局。通常就是把可能用到的View先写在布局里,再初始化其可见性都设为View.GONE,然后在代码中根据数据动态的更改它的可见性。虽然这样的实现,逻辑简单而且控制起来比较灵活。但是也存在一定的缺点耗费资源,即使把View的初始可见View.GONE但是在Inflate布局
CrazyMo_
·
2017-12-08 14:56
Android
进阶
Android系统组件使用
android图片缓存随笔
图片缓存原理作为
android进阶
的必备知识,是一名中高级开发人员必须掌握的,也经常在面试中被问到,故做一下记录。众所周知,为避免内存溢出,图片有三级缓存的说法,即内存,硬盘,网络。
Aron1001
·
2017-12-07 05:13
Android中,怎么优雅的生成代码?
前言在前面的Android6.0权限处理不再复杂文章中,介绍过一个开源框架PermissionsDispatcher(权限调度者)框架,基于该框架的条件下,有了介绍注解以及注解APT的两篇文章,分别是:
Android
街头客
·
2017-12-07 01:08
(源码)详细分析Android中的引用机制Reference(WeakReference、SoftReference、PhantomReference)
Android进阶
之路系列:http://blog.csdn.net/column/details/16488.html1、前言在java中,我们知道一般情况下当一个对象被其他对象引用时,该对象则不会被回收
Bennu-Cui
·
2017-11-28 19:09
android
Android进阶之路
android进阶
篇之View——基础篇(View移动)
移动View的位置的方法大总结和详细分析1:scrollTo,scrollByscrollTo:绝对位置滑动scrollBy:相对位置滑动//生硬的滑动((View)getParent()).scrollTo(-100,-100);((View)getParent()).scrollBy(-100,-100);linear.scrollBy((int)getResources().getDimen
da_caoyuan
·
2017-11-28 14:00
优秀博主
RabbitMQ实战指南》博主:刘望舒博文地址:http://blog.csdn.net/itachi85/article/details/50510124标签:AndroidIOSJAVA成果:著《深入解析
Android
wlzjdm
·
2017-11-22 01:00
Android进阶
---自定义控件的详解
自定义控件的学习流程:View的测量->View的绘制->ViewGroup的测量->ViewGroup的绘制->自定义ViewGroup->自定义控件的三种方式说明->事件拦截机制说明View的测量:Android系统绘制View是需要我们精确地告诉它该如何去画,它才能绘制出你想要的图形。那么Android在绘制View之前,我们必须对View进行测量,即告诉系统该画一个多大的View。这个过程
LayneYao
·
2017-11-20 14:17
Android
Android进阶
Android群英传
android进阶
篇之View——基础篇
View基础篇andorid中,View的重要性,不在多说。如果你想过渡为高级的andorid开发工程师,那熟练的运用View相关的知识,自定义View等,是必不可少的。网上,相关的文章,并且优质的文章也是很多的(优质的文章我会放到文章结尾处,供大家查阅参考)。同时也作为自己学习的一个笔记,方便以后查阅方便,也希望对大家有所帮助。第一种是在View中先上图:view.getTop():子View的
da_caoyuan
·
2017-11-18 11:10
Android进阶
-Android Handler消息机制的源码详解
我们都知道,Android应用程序是通过消息来驱动的。Android应用程序的每一个线程在启动时,都可以首先在内部创建一个消息队列,然后再进入到一个无线循环中,不断检查它的消息队列是否有新的消息需要处理。如果有新的消息需要处理,那么线程就会将它从消息队列中取出来,并且对它进行处理;否则,线程就会进入睡眠等待状态,直到有新的消息需要处理为止。这样就可以通过消息来驱动Android应用程序的执行。An
LayneYao
·
2017-11-12 16:44
Android
Android进阶
Java进阶&
Android进阶
从别的地方copy来的一些java的进阶知识图,感觉很好,记录一下。没事看看研究研究。我的职业生涯规划(三年为一个阶段):25岁到27岁:从java中级工程师进阶到java高级工程师,我所做的一切努力就是进入一个java后台开发的金融或者游戏公司(一定是互联网公司,最好是越大越好,以后越值钱,而且工作的时间也会越长)。27岁到30岁:java高级工程师进阶到java资深工程师,成为技术骨干(项目经
MarlonSH
·
2017-11-09 11:15
Android进阶
——性能优化之Android Monitor、TraceView、Allocation Tracking、Lint的使用
前言一个好的性能优化,可以让你的软件运行速度上比别人快,出现的卡顿现象少,而且一个好的性能软件,会在系统内存中生存的更久。性能优化最主要的就是对Java内存的管理,即堆内存中的管理,对于Java内存分配的讲解,详细可见我的博客文章概念介绍内存泄漏和内存溢出的区别内存泄漏:指程序分配出去的内存不再使用,无法进行回收内存溢出:指程序在申请内存时,没有足够的空间供其使用成员变量和局部变量内存分配成员变量
Hensen_
·
2017-10-31 09:00
Android进阶
(一) Activity 的生命周期详解
接触Android已经有两年了,总感觉自己停留在某个阶段已经很久了,应该会有好多人和我有相同的感觉吧,是时候去吸收一波知识了,任玉刚大神的《Android开发艺术探索》是一本非常不错的进阶书籍(推荐大家买来拜读一下)。这是我第二遍去看这本书了,第一次是我刚刚开始实习,好多知识都是迷迷糊糊的看过了,经过一年的学习和工作,第二次有了不同的体验!拿出来和大家一起共享和学习。随后会根据《Android开发
神奇的蓝胖子
·
2017-10-24 10:29
上一页
23
24
25
26
27
28
29
30
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他