- 博客(49)
- 资源 (2)
- 收藏
- 关注
原创 Android 内存优化(二)——内存优化策略
提示:本篇博客是个人学习的总结,有什么问题请及时联系本人qq1521976977文章目录前言一、内存优化策略二、具体优化的点1.避免内存泄漏2.Bitmap等大对象的优化策略3.原生API回调释放内存3.内存排查工具总结前言在开始之前需要先搞明白一个问题,为什么要做内存优化?或者说做内存优化的目的是什么?提示:以下是本篇文章正文内容,下面案例可供参考一、内存优化策略内存优化一般从两个方向着手优化,一方面就是上篇博客写的防止内存泄漏,避免不必要的内存资源浪费;另一方面就是APP中大对象的优化
2021-09-08 20:15:28 4759 1
原创 Android 内存优化(一)——常见内存泄露及优化方案
Android 内存优化提示:本篇博客是个人学习的总结,有什么问题请及时联系本人qq1521976977目录Android 内存优化一、常见的内存泄露应用场景?总结一、常见的内存泄露应用场景?1、单例的不恰当使用单例是我们开发中最常见和使用最频繁的设计模式之一,所以如果使用不当就会导致内存泄露。因为单例的静态特性使得它的生命周期同应用的生命周期一样长,如果一个对象已经没有用处了,但是单例还持有它的引用,那么在整个应用程序的生命周期这个对象都不能正常被回收,从而导致内存泄露。如:publi
2021-09-08 01:29:03 464
原创 每日一学——DataBinding的使用
DataBinding的实际使用看看DataBinding的简介在对应model的build.gradle中配置使用场景1.最简单的实体类与TextView的绑定2. 引入类,引用定义的方法进行判断操作等3. 点击事件的使用5. 集合、Map在xml布局中的使用看看DataBinding的简介DataBinding 是 Google 在 Jetpack 中推出的一款数据绑定的支持库,利用该库可以实现在页面组件中直接绑定应用程序的数据源,实现数据与View的双向绑定。此外,除了将数据与 UI 绑定在一起,
2020-07-15 17:06:07 514
原创 每日一学——Android屏幕适配方案分析以及头条适配原理—基于头条适配方案的框架AndroidAutoSize (一)
Android屏幕适配方案之头条适配—AutoSize介绍下目前主流的适配方案头条方案适配的原理适配具体操作呈现适配效果荒废了几天继续我的每日一篇学习博客 go go go!介绍下目前主流的适配方案须知:首先,我们应该明白没有完美的适配方案,因为安卓设备真的是五花八门,宽高比差距太大,在保证页面View不变形的情况下,只能取宽度为基准,自适应的设置高度,这样造成的页面整体高度会超出屏幕高度,解决的方法就只能是设置页面滚动,避免页面内容显示不全;其次要是以高度为基准,很大情况下view会变形,比如图片
2020-07-15 16:52:54 1401
原创 每日一学 ——项目修改包名编译出现Cannot start process, the working directory ‘x:\‘xxxxx does not exist
一般都是报名修改失败导致的,解决方法:Run -> Edit Configurations -> 添加Application ->修改Configuration下Working directory保存退出! clean project一遍 完事 溜了!!!
2020-07-02 10:00:58 476
原创 Android Studio logcat日志中文乱码——解决
今天记录个小东西吧,最近没时间写博客,就简单记录下升级Android studio4.0以后编译日志log中文都会出现乱码 不说其他原因看着就烦改一下吧,找到AS的安装路径下/bin里面的使用可可编辑软件打开修改如下完事!走你溜了...
2020-06-30 11:29:44 9961 9
原创 每日一学——自定义View(原理+具体实现代码)(二)
xml:序列化,反射 setContenViewLayoutPrames是什么?解析后的布局参数MearSureScap是什么?是View中的内部类,基本都是二进制。由于int是32位的,用高两位表示mode低30位表示size,MODE_SHIFT=30的作用是移位3种情况:UNSPECIFIED:不对View大小做限制,系统使用EXACTLY:切确的大小,如100dpAT_MOST:大小不超过某个值,如不超过 父容器...
2020-05-28 10:50:51 384
原创 每日一学——自定义View(源码及原理)(一)
先了解自定义View1. 自定义view的基本方法:测量:onMeasure()函数决定View的大小,相关方法——measure(),setMeasuredDimension(),onMeasure();布局:onMeasure()函数决定View的大小,相关;绘制:onDraw()函数决定绘制这个View。2. View分类:单一视图:一个view,不嵌套包含其他子view;视图组:多个View组成的ViewGroup;3. 自定义控件分类:自定义View:只需要重写onM
2020-05-26 14:49:29 360
原创 每日一学——创建的Android项目、页面空白、闪退,不显示页面内容
很小白的问题,但是还是记录一下吧。顺便分析一下:大家都知道Activity的onCreate方法有两个重写,如下: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void
2020-05-22 14:06:25 431
原创 每日一学——接口调试工具——Postman的使用
本来想自己写一下简单的使用,发现好像自己用得很浅薄,顺便就直接又在网上学习了下大佬的详情教程。自己就不班门弄斧了,记录下链接自己学习学习,也给各位伙伴提供个入口:简书博客:https://www.jianshu.com/p/d3eaed7b876acsdn博客:https://blog.csdn.net/fxbin123/article/details/80428216...
2020-05-21 14:29:17 222
原创 每日一学——WireShark的入门使用,网络抓包工具——玩转网络通信的强大助力
每日一篇学习博客——网络抓包工具WireShark的入门使用明确学习的目的下载安装工具具体教程具体分析单个数据包本博客是看着B站学习视频整理的学习笔记,如有侵权,请联系我删除!明确学习的目的为后期学习计算机网络通信协议做准备;后期工作中涉及到网络的问题你都可以使用它,接口抓包调试、网络传输安全测试;跨平台性,降低学习成本;也可作为其他抓包工具的后期分析软件。下载安装工具WireShark下载地址因为WireShark的不提供抓包驱动需要,需要我们自己安装windows的驱动winpca
2020-05-21 13:58:50 637
原创 每日一学——Android项目APP冷启动(白屏)解决方案
每日一篇学习博客——Android冷启动什么是冷启动什么是热启动冷启动的方式直接就造成的不好体验如下先分析下冷启动的产生原因先说说怎么处理白屏或者黑屏吧什么是冷启动简单来说就是APP的需要初始化启动,后台没有该应用的进程,直接点就是APP第一次打开、或者进程被杀死重新打开,这些启动都是需要重新创建Application实例——本人自己的理接(阔能很片面)什么是热启动当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看
2020-05-20 18:07:56 1886
原创 Bmob后端云服务——图片、音频、文件加载不出来报code"40510004"
之前有一个自己开发的小项目用到Bmob后端云,现在发现之前上传的文件资源现在加载不出来了。报这个错误{"code":"40510004","msg":"invisible domain"}简单来说就是之前的不能用了,https://www.bmob.cn/site/news/98官方提供的解决方法就是:方案一:(100/年)我们提供了备案域名:在控制台->应用设置->应用配置->开启文件独立域名,开启后图片即可访问。方案二:(免费)自有已经备案的域名,进入应用设置,域名管理,
2020-05-14 11:45:52 4479
原创 Android安装包apk使用加密\加固工具后再签名打包(使用命令打包)
使用情景:之前遇到过使用360加固/爱加密这类工具,之前的签名会没了,需要重新在加固apk的基础上使用签名再次打包第一步找到签名的路径(如果没有签名则需要新创建一个)附上一个创建签名的步骤吧:进入APK/选择Create new~...
2020-05-13 15:08:59 1381
原创 Android拍照失败以及成功后拿不到照片(照片裁剪加载失败)原因之一
拍照失败的原因有以下几种情况:原因一:没有获取相机权限,调起相机失败; if (ContextCompat.checkSelfPermission(baseActivity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED){ // 进入这儿表示没有权限 if...
2020-04-27 14:12:16 2389
原创 AndroidStudio导致C盘占用过高——瘦身(.android文件 .AndroidStudio3.5文件 .gradle文件)修改保存路径
每次一看C盘满就贼烦,其他占用内存我不知道,但是如果你没特意设置过(或者升级以后没修改)Androidstudio(简称AS)的配置保存路径,那他应该占用不小的内存,设置过好多次了,但是每次升级就没注意,然后就又开始占用我的C盘内存了步骤一:打开C盘C:\Users\xxx(自己设置的名称)下目录结构:.addroid文件夹是系统模拟器(as自带的内置系统模拟器(AVD),很鸡肋,反正我没...
2020-04-24 14:31:27 4136 7
转载 从智行AndroidAPP了解、学习、深入看组件化架构实践
转载(本博客仅作为学习使用,如有侵权请联系我(邮箱1521976977@qq.com),我会及时删除,非常抱歉):https://mp.weixin.qq.com/s?__biz=MjM5MDI3MjA5MQ==&mid=2697268363&idx=1&sn=3db2dce36a912936961c671dd1f71c78作者简介陈杰,智行火车票高级开发工程师,...
2020-04-24 09:49:18 504 1
原创 Android——安卓卡片样式——CardView使用、CardView失效等
本人所有博客均是记录自己的学习和爬坑的过程,顺便分享一些好用的东西给同学,没有任何商用行为,若有侵权,请及时联系本人1521976977@qq.com。如果对你有帮助的话不妨点赞呗~谢谢卡片CardView这个好东西是Android5.0推出的,Android 5.0版本中新增了CardView,CardView继承自FrameLayout类,并且可以设置圆角和阴影,使得 控件具有立体性,也可...
2020-01-10 15:43:58 4486 7
原创 Android——ConstraintLayout布局的强大、解决适配问题
刚开入手Android的时候习惯使用线性布局LinearLayout和RelativeLayout相对布局,这两者布局基本能处理近9成的UI布局,但是存在一定的问题,而且百分比布局用的人很少,后面学习本文记录的google最新推出的布局——约束布局ConstraintLayout这个布局很强大,一个布局就可以替代线性布局、相对布局、百分比布局、帧布局··· 最鲜明的优势我个人觉得就是减少布局嵌...
2020-01-07 13:56:30 2260
原创 Android——Intent的显示跳转、隐式跳转、以及页面间传值与回调(startActivityForResult、startActivity、setResult、onActivityResul)
最近重新温故下Android基础,就一点点从基础再看一遍,参考的基础书籍是《第一行代码》,所以代码一点程度都跟书籍上面一样,这些代码不是我博客的重点,博客的重点是使用这些东西需要注意的地方,所有内容均是为了记录本人学习,如有侵权,请联系本人,谢谢!1、Intent的显示跳转:MainActivity跳转到MainActivity1: //显示Intent Intent intent=new...
2020-01-03 15:37:55 1436
原创 Android——双击返回键返回桌面(进入后台)、再次进入不加载启动页、物理键双击退回桌面
很多APP点击返回键(或者左滑)返回桌面,都是不退出APP,只是进入后台,再次进入APP回到之前的页面,不用刷新或者重新创建。自己也觉得这样用户体验会好很多,虽然有一个弊端就是不结束进程,会一直占用内存,但是相对现在的手机性能来说这都不需要考虑。老样子先看看效果图吧:相关部分就是启动页和主页面,所以也只需要修改这两部分的相关内容就行!...
2019-12-31 15:41:46 1610 2
转载 转载——Activity启动模式 及 Intent Flags 与 栈 的关联分析
转载地址:https://blog.csdn.net/vipzjyno1/article/details/25463457在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享内存的方式实现的。Intent主要用于2种情景下:(1)发起意图 (2)广播它的属性有:ComponentNam...
2019-12-31 09:15:03 246
原创 java 封装总结
封装总结1)面向对象的三大特征:封装 多态 继承2)把数据封装成私有的,对数据的存取封装在方法里,提供对外的访问方法,隐藏了具体的实现细节3)get/set方法,对封装的属性进行存取。2、封装过程1)属性私有化(private)2)添加get/set方法3)在get/set语句中添加相应的控制语句...
2019-12-25 17:32:55 389
原创 static 丶final丶this关键字的作用及区别
static和final关键字的区别:都可以修饰类、方法、成员变量。static关键字:1)在类内部使用,用来修饰属性或方法的,在类加载期间加载;2)优于对象存在3)静态变量属于类级别,类的所有对象共享;4)静态变量只有一份,而实例属性是每个对象都有一份5)访问时,直接使用类名.静态变量或类名.静态方法6)方法中不能定义静态变量7)静态方法中只能访问静态成员(变量或方法),普通方...
2019-12-25 17:00:31 356
原创 Java集合——相关基础、集合框架
一、什么是集合类一种特殊的JAVA类,用来存储大批量数据的,并且提供了很多方法,可以方便的对数据进行增删改查。元素是以object(所有类的的父类)存储到集合中,父类能出现的地方子类皆可出出现,所以集合中可以存放任意数据类型的数据,并且集合的长度随意。特点: 1)存放任意数据类型的数据 2)变长,容量随数据的改变而改变二、数组和集合的比较1)数组是定长的,只能存放同类型数据...
2019-12-25 15:26:26 298
原创 面试:Android面经 自己整理了下分享出来(一)——Java部分
@[TOC](Android面经(一) ——java部分) Android工作了一年半,想换一份工作,没办法得准备准备,那就自己整理一遍面经,问题都是些常见的面试题,希望能对同样求职的你也有帮助!! 下面是面试的一些问题,我整理的答案我会另外整理下!!!一、什么是操作系统二、说说进程和线程]三、简单介绍下JDK&JRE&JVM四、面向过程&面向对象1.什么...
2019-12-25 15:20:26 390
原创 github项目添加说明README.md、以及在README.md中添加图片
因为最近一直上传项目,所以需要给项目添加项目介绍。而且平时上传项目到git上,我们需要显示相应的介绍信息如图,这就需要我们自己编辑一下了 ,先看看project项目根目录中有没有README.md文件,没有的话自己创建就行后缀.md就行了然后在里面编辑自己需要展示的信息就行 ,这里面可以使用html标签,也能识别,至于添加图片有两种方法:一种是在git项目新建文件夹上传图片;另外就是在项...
2019-12-23 11:57:09 1557
原创 记账APP、家庭记账、分享下自己以前做的记账APP
这个项目是之前在学校做的课设整个项目很多借鉴大佬的,附上他的博客吧:https://blog.csdn.net/adminpd/article/details/78942212我只是参考了他的移动端,后台开发也没时间捣鼓,因为那会大四在实习,Android的学习时间也不长,非常感谢这位大佬的源码分享,学习了不少东西。先看看效果图吧: 来个动图吧:项目设计模式...
2019-12-20 17:44:02 5622 10
原创 Android自定义换肤、抽屉效果、夜览模式之setTheme方法实现(一)
本人所有博客均是记录自己的学习和爬坑的过程,顺便分享一些好用的东西给同学,没有任何商用行为,若有侵权,请及时联系本人1521976977@qq.com。如果对你有帮助的话不妨点赞呗~谢谢老样子还是先上效果图...
2019-12-13 10:54:38 1008
原创 Android-安卓自定义Toolbar 满足日常开发的需求
自定义Toolbar先上效果图吧直接上代码Activity代码本人所有博客均是记录自己的学习和爬坑的过程,顺便分享一些好用的东西给同学,没有任何商用行为,若有侵权,请及时联系本人1521976977@qq.com。如果对你有帮助的话不妨点赞呗~谢谢先上效果图吧这里的状态栏的颜色以及沉浸前面的代码有介绍,想了解的同学可以去看看!直接上代码布局代码:<?xml version="1...
2019-12-12 14:37:53 700
原创 Android基础篇-Android底部导航Tabbar -[ViewPager+RadioGroup+RadioButton+Fragment]实现
Android底部导航Tabbar ViewPager+RadioGroup+RadioButton+Fragment先看看效果图吧新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能...
2019-12-11 17:40:37 788
原创 Java基础————构造方法
构造方法:一、构造方法 1、方法名和类名一致;(包括大小写) 2、没有返回值,有没有void关键字; 3、普通方法由对象名.方法名调用,构造方法在创建对象时由系统自动调用; 4、通过new关键字来调用,用来创建对象并且给对象赋初值,且对象一旦建立,构造方法就运行且运行一次, 普通方法可以被多次调用; 二、构造方法分类 1、隐式构造方法 a.不可见 b.系统自动添加 p...
2019-12-05 15:33:29 294
原创 权限修饰符
权限修饰符的范围使用范围本类中子类中同包类中其他类中public可以可以可以可以protected可以可以可以不可以默认(friendly)可以同包子类中可以可以不可以private可以不可以不可以不可以...
2019-12-05 15:27:36 179
原创 静态属性、静态方法
静态属性和静态方法能被继承吗?静态方法又是否能被重写呢?java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏.原因:1). 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用。如果子类里面定义了静态方法和属性,那么这时候父类的静态方法或属性称之为"隐藏"。如果你想要调用父类的静态方法和属性,直接通过父类名.方法或变...
2019-12-05 15:24:25 389
原创 Java基础——接口和抽象类的区别
接口和抽象类的区别。接口和抽象类的区别接口:1.接口中只能定义常量和抽象方法,//*public static final */ double PI =3.45 ---接口中的成员可以不写修饰符。默认都是public//*public abstrac */void 方法名();2.接口表示一种能力,想扩展就实现不想就不实现。3.接口不能实例化,因为没有构造方法,只能被实现使用4.类...
2019-12-05 15:03:38 550
原创 this 、super关键字的区别
谈谈你对 this 和 super 的认识。this:就是类中指向对象本身的一个特殊引用。super:向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。...
2019-12-05 14:37:34 194
原创 Java基础——什么是重载 & 什么是重写 & 区别。
什么是重载 & 什么是重写 & 区别。重载是在一个类中,方法名相同,而参数不同。返回类型阔以相同也阔以不相同。区别点重载方法重写方法参数列表必须修改一定不能修改返回类型必须修改一定不能修改访问修饰符不能比父类更严格一定不能修改方法名一致一致异常可以修改可以减少或删除,一定不能抛出新的或者更访问可以修改一...
2019-12-05 14:34:29 581
JZ_app.zip
2020-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人