自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

i_nclude的博客

我不是在改bug,就是在改bug的路上

  • 博客(76)
  • 收藏
  • 关注

原创 Android 内存优化——常见内存泄露及优化方案

前言如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回 收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费,这中情况就是内存泄 露。在 Android 开发中,一些不好的编程习惯会导致我们的开发的 app 存在内存泄露的情况。下面介 绍一些在 Android 开发中常见的内存泄露场景及优化方案。单例导致内存泄露单例模式在 Android 开发中会经常用到,但是如果使用不当就会导致内存泄露。因为单例的静态 特性使得它的生命周期同应用的生命周期一样长,如果一

2021-11-16 15:15:27 283 1

原创 Android 面包屑+Fragment

实现效果:使用方法:加入依赖:implementation 'com.github.1QQ6:CrumbsView:v1.0.4'//面包屑<com.example.crumbsview.StrongCrumbsView android:id="@+id/breadCrumbs" android:layout_width="match_parent" android:layout_height="40dp" android:

2021-07-11 21:17:17 313 2

原创 Handler的原理分析

Handler的原理分析:首先了解一下handler的主要成员1.主要的有Message、MessageQueue、Looper、Handler一个线程绑定一个looper,一个looper维护着一个MessageQueue队列,而一个线程可以对应多个handlerHandler:发送和接收消息 Looper:取消息并分发消息给handler Message:将发送的消息封装成Message对象 MessageQueue:将发送的Message对象存储在MessageQueue队列中

2021-03-14 17:34:51 243

原创 Retrofit+Okhttp实现注册登录+后端代码超详细步骤

前言这几天想学习网络相关的东西,那么就从最简单的开始吧,但是在网上搜了一下,百度还是谷歌都没有完整的教程,要不只有移动端代码,要不只有后端代码,所以我在完成之后想把这些记录下来,做一个简简单单的总结。从搭建环境开始一步一步来。代码比较粗糙,不过基本功能没问题。本文章用到框架不会的可以提前学起来了。环境移动端: 1. AndroidStudio 4.1.1 2. 编程语言:kotlin 3. 架构:mvp 4. 框架库:retrofit2+okhttp3(这里没用rxjava是因为有kot

2021-01-27 22:22:24 2775 6

原创 【算法】冒泡排序+选择排序+插入排序

目录前言1.冒泡排序1.1冒泡排序思路1.2冒泡排序图解1.3冒泡排序代码实现1.4冒泡排序的时间复杂度分析:1.5冒泡排序的空间复杂度2.选择排序2.1选择排序思路:2.2选择排序图解2.3选择排序代码实现2.4选择排序的时间复杂度分析:2.5选择排序的空间复杂度分析:3.插入排序:3.1插入排序原理:3.2插入排序图解3.3插入排序代码实现3.4插入排序的时间复杂度分析:前言本篇文章讲解了冒泡排序,选择排序和插入..

2021-01-15 18:36:47 170

原创 【算法】时间复杂度和空间复杂度分析

前言现在面试越来越难,基本上是造火箭,而算法又是必不可少的面试题,对程序员来说,算法的要求也越来越高,如果没有好的算法基础,想进一家不错的公司基本上是无缘了,所以在此再回顾一下吧,把扔给老师的再补回来(T T)算法的时间复杂度分析定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随着n的变化情况并确定T(n)的量级。算法的时间复杂度,就是算法的时间量度,记作:T(n)=O(f(n))。它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作

2021-01-14 17:32:12 609

原创 【算法】已知一个搜索二叉树后序遍历的数组posArr,根据posArr重建树

已知一个搜索二叉树后序遍历的数组posArr,根据posArr重建树/** * 已知一个搜索二叉树后序遍历的数组,建对应树并返回头结点 * * 8 * / \ * 4 10 * / \ / \ * 2 6 9 12 * * 后续遍历结果:[2,6,4,9,12,10,8] * * * 思路: * 1.后序遍历的最后一个数绝对是根节点 * 2.找左子数:从[left,right-1]范围开始找比最后一个数字小的数的最右面的那个数,记

2021-01-05 00:15:48 252

原创 理解android中最熟悉的Context

Context的介绍Context 在Android开发中几乎无处不在,对于开发来说实在是再熟悉不过了。但是你真的了解它吗?是否在使用的时候分不清楚呢?并且可能你的一不小心就会导致内存泄漏。由于Android中存在不同类型的Context,因此作为Android开发,我们可能刚开始不知道在某个位置使用哪个上下文。所以,我们看看下面是如何正确使用Context的。其中android主要有两种类型的上下文:Application Context:这是一个单例,可以在activity中使用getAppl

2020-05-20 22:27:46 450

原创 java和kotlin如何相互转化

java转kotlinShift + Alt + Cmd + k MacShift + Alt + Ctrl + k Windows如下图所示:这里记录下java一键转kotlin遇到的几个错误:1.Overload resolution ambiguity. All these functions match原因:名字冲突。编译器不知道引用哪一个参考链接12.Smart cast to 'Type' is impossible, because 'variable' is a muta

2020-05-09 17:16:55 2792

原创 解决Android Studio cannot open this project, please retry with Android Studio 3.6 or new

出现此现象,要不是因为gradle的版本太高了,要不是android studio的版本太低了总之得改一个,这里我修改的是gradle的版本,不升级android studio,还是不吃螃蟹的好。gradle-wrapper.properties 的版本也太高了参考链接...

2020-04-28 16:46:37 690

原创 解决Only the original thread that created a view hierarchy can touch its views

Only the original thread that created a view hierarchy can touch its views出现原因:回调接口在子线程,并在回调接口对UI进行了操作所以,将会出现上述提示一般来讲,会使用handle解决这个问题在对应的回调接口根据网络请求返回的数据来传递不同的消息handler.sendMessage(msg);再根据消息的内容...

2020-04-16 17:55:13 28502 4

原创 android studio使用及目录简介

目录简介

2020-04-16 16:16:34 956

原创 如何创建android studio项目及线性布局

创建项目注意事项及线性布局的属性

2020-04-16 16:16:28 7417

原创 深刻理解Activity的生命周期和onSaveInstanceState()

活动的生命周期

2020-04-16 16:16:21 694

原创 Activity四大启动模式详解

活动的启动模式

2020-04-16 16:16:12 668

原创 android中常用控件的使用方法:

控件

2020-04-16 16:15:58 627

原创 Android之ProgressBar的使用

ProgressBar

2020-04-16 16:15:42 425

原创 Android之布局详解

四种基本布局

2020-04-16 16:14:53 2094

原创 Android之创建ListView自定义控件

创建自定义控件

2020-04-16 16:14:43 1130

原创 Android之提升ListView的运行效率

提升运行效率

2020-04-16 16:14:34 546

原创 Android之RecyclerView的使用

更强大的滚动控件—–RecyclerViewListView

2020-04-16 16:14:25 562

原创 Android之制作Nine-Patch图片

编写界面之实践(前提)制作Nine-Path图片

2020-04-16 16:14:08 1097

原创 Android之编写聊天界面实践

编写精美的聊天界面

2020-04-16 16:14:00 824

原创 Fragment的入门使用到进阶

碎片

2020-04-16 16:13:52 370

原创 Android之装饰者设计模式

装饰着设计模式

2020-04-16 16:12:59 190

原创 Android之文件存储和SharedPreference存储

1.文件存储2.SharedPreference存储

2020-04-16 16:12:51 1424

原创 Android之SQLite数据库存储

SQLite数据库存储

2020-04-16 16:12:43 2407

原创 Android之使用SQL 操作数据库

使用SQL操作数据库

2020-04-16 16:12:33 313

原创 Android之程序运行时权限

程序运行时权限

2020-04-16 16:12:26 436

原创 Android之内容提供器

内容提供器

2020-04-16 16:12:17 323

原创 Android之读取系统联系人

读取系统联系人

2020-04-16 16:12:05 519

原创 Android之创建自己的内容提供器

内容提供器

2020-04-16 16:11:57 527

原创 Android之通知的基本用法

通知

2020-04-16 16:11:47 692

原创 Android之调用摄像头和相册

调用摄像头和相册

2020-04-16 16:11:37 1064

原创 Android之播放多媒体文件

播放多媒体文件播放音频

2020-04-16 16:11:27 307

原创 Android之播放视频

播放视频

2020-04-16 13:43:34 354

原创 Android之使用HTTP协议访问网络

使用HTTP协议访问网络

2020-04-16 13:43:25 777

原创 Android 之解析Xml格式数据

解析Xml格式数据

2020-04-16 13:42:53 1306 1

原创 Android之解析JSON格式数据

解析JSON

2020-04-16 13:40:13 491

原创 Android之多线程编程

线程

2020-04-16 13:40:01 356

空空如也

空空如也

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

TA关注的人

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