自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (7)
  • 问答 (23)
  • 收藏
  • 关注

转载 ListView与RecyclerView的区别

RecyclerView是Android5.0materials design中的组件之一,相应的还有CardView、Palette等。看名字我们就能看出一点端倪,没错,它主要的特点就是复用。我们知道,Listview中的Adapter中可以实现ViewHolder的复用。RecyclerView提供了一个耦合度更低的方式来复用ViewHolder,并且可以轻松的实现ListView、GridV...

2020-05-06 17:54:24 1209

转载 LeakCanary原理解析

简介LeakCanary是一款开源的内存泄漏检查工具,在项目中,可以使用它来检测Activity是否能够被GC及时回收。github的地址为https://github.com/square/leakcanary使用方式解析将LeakCanary引入AS,在Application中调用如下方法,可以跟踪Activity是否被GC回收。入口函数LeakCanary.insta...

2020-05-06 17:33:42 289

转载 Android优化UI篇

过度绘制大家应该都了解过,简单说一下,接下来主要讲解我们实际开发中怎么去避免这种现象。Overdraw(过度绘制)是指屏幕上的某个像素在同一帧的时间内被绘制了多次。过度绘制.png如果当前区域被绘制两次,就是过度绘制一次,以此类推,每绘制一次都会消耗性能CPU、GPU、还有电量等,所以作为开发就是尽量减少同一区域绘制次数。过度绘制主要成因如下:1、 由于布局复杂造...

2020-05-06 17:04:38 240

转载 Android的APP启动过程分析

Android应用程序,以ActivityThread.main()做为主入口下图展示了Application以及Activity的创建过程1、创建Application每个应用程序在第一次启动时,都会先创建一个Application对象。Application对象,是通过ActivityThread的handleBindApplication()创建的Java代码...

2020-05-06 14:56:54 404

转载 Android Activity启动流程简述

在Android系统中,有两种操作会引发Activity的启动,一种用户点击应用程序图标时,Launcher会为我们启动应用程序的主Activity;应用程序的默认Activity启动起来后,它又可以在内部通过调用startActvity接口启动新的Activity,依此类推,每一个Activity都可以在内部启动新的Activity。通过这种连锁反应,按需启动Activity,从而完成应用程序的...

2020-05-05 23:30:10 467

转载 Android检测View的可见性

Android中我们经常会用到判断View的可见行,当然有人会说View.VISIBLE就可以了,但是有时候这个真是满足不了,有时候我们为了优化,在View滚到得不可见的时候或者由于滚到只显示了部分内容的时候不做某些操作,View.VISIBLE这个时候是满足不了的。1. onWindowVisibilityChanged检测滚到导致View可见或者不可见比如在 ScrollView(Re...

2020-05-05 18:52:33 531

原创 Android 点击跳转ClickableSpan使用心得总结

在Android日常开发中,经常遇到需要实现点击某个view或者文字跳转到其他页面或者超链接,通常我们会考虑使用ClickableSpan具体使用方法见链接https://blog.csdn.net/yuanpengs/article/details/26342195例如,需要在"了解更多"添加超链接,这里使用URLSpan这里注意,URLSpan是继承CkickableSpa...

2019-11-02 16:41:08 4470

原创 Android开发工作中常用adb命令

Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限Android官网关于adb介绍见链接https://developer.android.google.cn/studio/command-line/adb这里不定期总结日常开...

2019-11-02 16:24:15 196

原创 Android获取mp3音频文件总播放时长大小

在Android开发中,有时候需要处理语音播放逻辑,需要获取一个音频文件的总播放时长,方便处理相关的业务逻辑这里,有两种情况,一种是音频文件放在手机存储目录下;另一种是音频文件在raw目录下,随APK编译打包第一种,音频文件放在手机存储目录下这里的filePath是指文件保存在手机目录的完整路径/** * 获取音频文件的总时长大小 * * @param filePath 音...

2019-11-02 16:00:03 4807 1

原创 C++将10进制字符串转为16进制字符串

方法一:推荐 直接除以16进行计算 对结果递归进行转换运算代码如下:#include#include using namespace std;string DecIntToHexStr(long long num){ string str; long long Temp = num / 16; int left = num % 16; if (Temp > 0) st

2016-10-07 23:09:44 18651

原创 C++实现打印一年中所有的星期三

直接上代码 给定初始日期 2000年1月1日 是星期六#include #include using namespace std;//2000年的1月1日是星期六//打印给定年所有的星期三map Construct(int year){ mapm; int a[] = { 1, 3, 5, 7, 8, 10, 12 }; int b[] = { 4, 6, 9, 11 }

2016-10-07 23:06:30 790

原创 C++实现大数相乘

由于数字无法用一个整形变量存储,很自然的想到用字符串来表示一串数字。然后按照乘法的运算规则,用一个乘数的每一位乘以另一个乘数,然后将所有中间结果按正确位置相加得到最终结果。可以分析得出如果乘数为A和B,A的位数为m,B的位数为n,则乘积结果为m+n-1位(最高位无进位)或m+n位(最高位有进位)。因此可以分配一个m+n的辅存来存储最终结果。为了节约空间,所有的中间结果直接在m+n的辅存上进行累加。

2016-10-07 15:30:44 7642 3

原创 MFC选择文件目录查找带有指定后缀的所有文件

//选择目录文件 void CDlg::OnBnClickedButtonChoosepath(){    CString m_strFilePath;char szSelected[MAX_PATH];         //用来存放文件夹路径BROWSEINFO bi;LPITEMIDLIST pidl;bi.hwndOwner = this->m_hWnd;bi

2016-05-09 13:26:29 3731 1

原创 windows窗体应用程序中将标准time_t结构体转成托管型DateTime

System::DateTime  StdTimeToClrTime(tm* PresentTime){ char buf[128] = { 0 }; String^ TimeStr; System::DateTime refClrTime; strftime(buf, 64, "%Y-%m-%d %H:%M:%S", PresentTime); TimeStr = Sys

2016-05-04 16:57:34 336

MFC实现的一个关于socket通信的测试工具

本程序用MFC基于对话框实现了windows下的socket通信,分别实现了TCP通信、UDP通信以及UDP组播通信。可以发送字符串也能发送16进制的数据。socket使用了非阻塞模式,并且是事件触发的。

2016-01-03

三维模型格式obj文件解析源码

三维模型格式obj文件解析源码,vs2013编译环境下编写的

2016-01-03

winform chart动态跟进式折线图

winform chart动态跟进式折线图

2016-01-03

winform编写的倒计时小软件

使用vs2013编译器 c++编写的winform界面的倒计时小软件

2016-01-03

VC++实现计算器功能程序

用vs2013编写实现计算器功能代码,源代码思路清晰易懂

2015-06-01

加速度传感器

android开发中加速度传感器的实例,很适合新手入门

2015-06-01

基于尺度不变特征转换的人脸画像识别方法

基于SIFI的人脸画像识别方法,并且对比了一般LBP和圆形LBP两种人脸画像识别方法,最后还延伸了GLOH算法,里面代码论文都有

2015-06-01

AlarmManager定时服务如何在手机CPU休眠状态下也能做定时任务?

2020-05-08

mysql同时对2张表进行数据访问问题

2016-01-02

winform中利用chart动态显示折线图问题

2015-12-30

winform中使用chart控件实现跟进式折线图动态显示数据问题

2015-12-29

用MFC写的基于TCP的数据发收问题

2015-12-29

chart绑定mysql数据库中表数据后无法显示出来

2015-12-08

C++文件的分割重组问题

2015-11-05

vs2013编译出现奇怪问题

2015-10-10

调试中获取获取的时间直接用ToDataTime转为出现问题

2015-09-28

用tm*类型获取的localtime本地时间怎么转为datatime类型

2015-09-27

C++托管类私有成员怎么在其他命名空间里引用?

2015-09-22

vs2013工程前后两个版本,前面版本调试正确,后面版本把新增代码注释调试错误?

2015-09-21

永commandbuilder修改datagridview数据存储然后写入mysql中,出现问题

2015-09-15

使用commandbuilder修改datagridview数据然后更新到mysql数据库中遇到问题

2015-09-15

localtime转为datatime有什么现成的函数吗。如果没有该怎么进行编写实现

2015-09-14

mysql中修改参数保存到datatable再更新到数据库出现问题

2015-09-13

用localtime获取的本地时间转为System::datatime类型的时间,中间应该怎么转换

2015-09-12

把数组元素合并中间用逗号隔开,报错

2015-08-06

time_t转换成systemtime调用函数时有点疑问?

2015-08-06

将当前记录的时间赋给一个表的第一列,出现问题,该怎么定义呢

2015-08-03

mysql中datatable往数据库中大批量写入数据,类似sqlbulkcopy的类

2015-08-02

mysql中将textbox中的数据修改传给datatable语句出现问题

2015-08-02

将datatable中数据显示到textbox中出现代码错误

2015-08-02

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

TA关注的人

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