自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

转载 Android Framework系列(系统架构篇)

目录一、引言二、Android架构2.1 Linux内核层2.2 硬件抽象层 (HAL)2.3 Android Runtime & 系统库2.4 Framework层2.5 App层2.6 Syscall && JNI三、通信方式3.1 Binder3.2 Socket3.3 Handler四、核心提纲4.1 系统启动系列4.2 系统稳定性系列4.3 Android进程系列4.4 四大组件系列4.5 图形系统系列4.6 系统服务篇4.7 内存&

2021-07-02 13:41:39 8551 4

原创 Android Framework系列(从系统开机到应用启动篇)

前言:Android手机从系统开机到应用启动,里面程涉及到的Framework层、内核层知识还是挺多的,作为一名开发者,熟悉常见的通信方式(Socket、Binder、Handler等)、了解Android系统的整体架构势在必行。本篇文章带领大家一起来领略Android系统从开机到应用启动的前世今生。

2021-07-02 00:36:42 532

原创 Android多线程系列二(线程安全和锁机制)

1、volatile起源概念:在Java内存模型中,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存(共享内存)中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。因此就需要把变量声明为volatile。

2021-01-13 16:43:46 602 1

原创 Android多线程系列一(基础篇)

前言:在日常Android开发过程中,“线程”用处十分广泛,本篇文章将从如下几个角度进行分析总结。一、 线程的属性: 1. 线程的非静态方法方法 start()、run()、join()、interrupt、isInterruped() 和 静态方法 Thread.currentThread()、Thread.sleep、Tread.yield()、Thread.interrupted...

2020-05-11 00:34:29 467 1

原创 2023年,我的年终总结

2024希望家人身体健康,我的小宝贝健康快乐成长,我和媳妇生活、事业更上一层楼!

2024-03-04 00:36:11 912

原创 2022年,我的年终总结

2022年,这一年我29岁,对我来说,是很不平凡的一年,经历了很多事情,真正体会到了成年人的世界没有容易二字,工作方面:从年初准备面试、复试、到最终离开了工作三年的老东家(科大讯飞),转而奔向自己心仪已久的公司斑马网络(阿里系子公司),来到新公司,立马进入了忘我的工作状态、加班、熬夜敲代码似乎也成了家常便饭,也许是因为自己是刚进入新公司,太着急想证明自己,也许是因为自己知道大公司的竞争压力大,优胜劣汰,也许是因为我知道我比任何人都输不起吧......另外,生活方面:在我和媳妇的共同努力下,我们终于攒够了钱,

2023-01-19 01:22:56 1409 2

原创 2021年,我的年终总结

序言:在讯飞工作已经快三年年了,记得上次写年终总结还是在2019年,三年的时光过得真快,值得庆幸的是这三年里我没有选择躺平,虽然没有突飞猛进,但也是朝着自己想要的方向发展:生活上我和心爱的她结婚了,一起来经营我们的小家;工作上因为领导的认可,我从一个外包员工转为正式员工了,收入也有了一些提升;家庭方面,父母爸妈身体健康,都工作在自己的岗位上;2021年,自己收获了很多,要感谢的有很多:感恩生活, 感恩爸妈,也感谢同事与媳妇的支持…2021年的突破2021年,整体来说是一个爬坡和收获的过程,记得有人说当

2022-01-29 22:52:25 1633 5

原创 2019年,我的年终总结

序言:一年的时间转眼即逝,时间不等人,很多事情就在我们还没有准备好的时候就来了,无论是生活、工作还是家庭,都需要我们承担不同的角色,稍有懈怠,便会手忙脚乱,这一年,我成长了很多,也学会了很多…2019年的突破对于我来说,因为性格的原因,我从来都是一个“性情”中人, 很多事情说了也做了,有些事情说了,还没来得及做,对于生活中的每一个脚印,既然选择了,就没想过要退缩,想了下对于这一年,还是颇有收...

2021-08-11 09:06:55 5114

转载 设计模式总结

无论是产品设计还是项目架构都离不开设计模式,码农前辈们通过总结整理出的23种设计模式、七大原则十分值得我们学习,带着这个思想有效地coding…

2021-06-07 00:01:14 144 1

转载 Android消息同步屏障机制(通过反射调用hide方法)

一、消息种类关于Handler机制的基本原理不了解可以看这里: Handler机制源码解析。Message分为3中:普通消息(同步消息)、屏障消息(同步屏障)和异步消息。我们通常使用的都是普通消息,而屏障消息就是在消息队列中插入一个屏障,在屏障之后的所有普通消息都会被挡着,不能被处理。不过异步消息却例外,屏障不会挡住异步消息,因此可以这样认为:屏障消息就是为了确保异步消息的优先级,设置了屏障后,只能处理其后的异步消息,同步消息会被挡住,除非撤销屏障。二、什么是屏障消息同步屏障是通过MessageQ

2021-04-23 11:17:01 672

原创 csdn怎么快速转载别人的文章

在csdn看到好的文章想转载,无奈找不到转载的功能,只能想办法了。如何转载用谷歌浏览器加载文章地址,打开文章F12打开Developer Tools,并打开Elements页面,然后Ctrl + F 搜索“article_content”标签,搜索的第一个就是:向上选择div元素,Copy outerHTML整个div标签下的内容:试图将粘贴板里面的html内容转换为markdown文件,这里用到的是https://tool.lu/markdown/ 这个网站,可以在线转换,

2021-02-19 17:05:23 128

转载 Android 混淆:proguard实践

前言 网上关于使用proguard进行混淆的文章很多,但大部分是从讲解proguard知识点这个角度去写的,为什么要混淆,如何去混淆,混淆的注意点等重要的问题反而都没有写。 所以想通过这篇文章来记录我学习proguard的过程,一来是整理android混淆相关的知识点,二来是总结此...

2021-02-19 15:29:49 613

原创 关于tomcat启动多个端口应用,并通过nginx进行反向代理

相关实现需要执行如下几个步骤:一:tomcat启动多个应用时需要配置:复制%\Catalina_Home%\config\Catalina文件夹,并命名为Catalina1复制%\Catalina_Home%\webapps文件夹,并命名为webapps1复制完成后,可将各个应用的war包或者源代码放到相关的webapps目录下配置%\Catalina_Home%\config\server.xml文件,配置如下,主要是增加配置一个service节点:重启服务器,通过在浏览

2020-08-06 02:28:10 466

原创 Git版本控制总结(第二篇:常用指令速查)

git指令大全git reset --soft HEAD^:仅仅是撤回commit操作,您写的代码仍然保留.git reset --soft HEAD3:如果你进行了2次commit,想都撤回,可以使用HEAD2git stash:切换到其他分支的时候,放在暂存区。切回来的时候,可以执行git stash pop可以恢复修改的内容git log 分支名 -number:表示......

2020-02-29 21:22:28 445

原创 Git版本控制总结(第一篇:分支管理)

Learning_Gitgit的相关学习subject1:合并分支场景一:现在有dev本地分支与远程分支,master本地分支与远程分支现在将dev的分支代码合并到master主干上:思路步骤 :1.切换到本地分支dev上,并且pull拉取一下远程dev分支上的改动地方(git pull origin dev)2.将所有本地修改进行commit并且push到远程dev分支上,保证没有...

2019-11-25 01:08:29 667

原创 重写View的onTouchEvent后,设置点击事件onClick()方法无效问题解决

自定义的view重写了onTouchEvent方法后,还想要响应onClick方法的话,最好在up事件里调用一下performClick()方法。参考:https://www.jianshu.com/p/7d1e773d9955

2019-10-23 09:38:27 2895

原创 APP在未启动的情况下无法收到静态广播

Android Application和静态广播1、启动静态广播时,系统先执行Application中的oncreate方法,然后执行BroadcastReceiver中的onReceiver方法。

2019-10-17 11:06:24 2492

原创 如何 在AndroidStudio中将项目打包成jar包:

以下内容是根据网上的方法进行验证后的总结。在AndroidStudio中将项目打包成jar包的方法:在build.gradle文件中,修改下面两个地方:(1)apply plugin:‘com.android.application’ 改为 apply plugin: ‘com.android.library’(2) 将defaultConfig中的applicationID这行注释掉完...

2019-09-29 10:37:04 926

原创 Androidstudio导入(或创建)新项目时,项目构建时间过长问题

很多时候,当我们导入新项目时,我们不希望每次都从网上下载gradle文件,所有我们可以考虑本地配置,通过修改gradle-wrapper.properties文件和classpath ‘com.android.tools.build:gradle:3.0.0’ 文件来实现本地化配置。例如:distributionUrl=file:///E:/AndroidStudio/gradle/grad...

2019-06-16 03:17:01 2153

原创 ADB指令大全

adb指令快捷键玩转adb命令,可以让我们电脑端操作手机变得游刃有余。 - **adb的断开与连接** ```java adb devices :显示已连接的设备 adb disconnect :端口号 :adb断开某设备 adb connect :端口号:adb连接某设备(通常针对offline设备) adb kill-server:杀死adb adb start-server:重启adb adb reboot:重启机器 adb...

2019-05-06 08:48:07 18283

原创 Retrofit2+RXJava1(操作符篇)

一:rxjava和retrofit版本gradle声明 //引入rxjava compile 'io.reactivex:rxjava:1.2.0' compile 'io.reactivex:rxandroid:1.2.1' //引入retrofit compile 'com.squareup.retrofit2:retrofit:2.0.2' com

2017-12-03 21:31:48 528

原创 Android中的Socket通信(UDP方式和TCP方式)

Android通过广播的方式来发送和接收数据,从而进行手机间的通信。发送方:public class SendToAIUIUtils { private static InetAddress mAddress; private static DatagramSocket socket = null; private static String ip = "255.255.25

2017-10-31 17:10:13 10558 1

原创 Android5.0以上版本对比

Android5.0新特性(2014年10月发布):代号为Lollipop(棒棒糖),采用了Google最新推行的Material Design设计语言,用户切换activity时,有无缝的过度位移动画.运行机制改为更新的ART。相比Dalvik,ART的处理机制完全不同,它会在应用程序第一次安装时就把程序代码转换成机器语言,而不是像Dalvik在第一次运行时才转换成机器码,让程序成为真正的本地

2017-08-28 11:18:37 1101

原创 AndroidStudio快捷键大全

Androidstudio相关快捷键功能型快捷键 这些功能型快捷键,可以帮助我们快速提升开发速度。Alt+F1: 快速显示代码提示框,可进入代码结构等Esc:聚焦到编辑区域Ctrl+Shift +上/下: 当前代码(可以是多行)向上/下移动一行Ctrl+Alt+左/右 :当前代码光标的位置F4 :快速定位到类、方法定义的地方,相当有ctrl+鼠标左键Ctrl+shift+A: 通往全世

2017-07-25 10:36:51 594

原创 校园社交类app“校园微生活”

该app是本着以“爱生活,爱分享,爱旅游”为主题,方便大家记录大学生活点点滴滴的一款校园社交类软件。该款app的主要功能模块包括:发动态模块:发表动态,包括图片、视频、文字。旅行计划模块:制定DIY旅行计划,邀请好友一起旅行。添加好友:二维码扫描加好友,也可以通过搜索添加。第三方聊天功能:融云聊天。地理定位:百度地图定位,POI检索,搜索附近。模块UI相关展示:主界面 校园日记列表

2017-05-31 17:58:50 4001

原创 关于zxing二维码扫描的总结

众所周知,google的开源zxing二维码扫面,实现了我们基本的项目需求,然而里面还有很多问题需要解决,github上有许多大牛对zxing进行了封装,这边参考了“一片枫叶”的zxing项目。talk is cheap ,show me the code!1.主activity实现下面几种功能 //普通扫描 mScanBtn.setOnClickListener(n

2017-03-05 00:09:24 1251

原创 Retrofit2+RXJava1(初识篇)

一:观察者模式基本实现1.创建观察者Subscriber Subscriber<String> subscriber = new Subscriber<String>() { @Override public void onNext(String s) { Log.d(tag, "Item: " + s); } @Override pub

2017-03-03 22:43:42 431

原创 如何用git,管理你的项目,同步到托管平台

团队合作,git至上,用git管理你的项目参考网站:廖雪峰的教学某个人博客 一:如何用git整合github上的仓库与本地仓库(针对项目创建者)1. 在github上创建一个Android项目(此时已经有了远程仓库,存放在github的服务器上)2. 在本地创建一个文件夹,或者是AndroidStudio创建的项目,打开项目文件根目录,执行下面指令3. g...

2016-04-14 23:57:10 760

从一个文件夹里提取出指定格式如:图片,mp3等格式的文件到另一个文件夹

从一个文件夹里提取出指定格式如:图片,mp3等格式的文件到另一个文件夹

2016-04-16

java面试宝典题集

java面试宝典题集

2016-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除