自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 QT QSqlDatabase: QMYSQL driver not loaded

在任何环境都没配置电脑上,运行QT编译的数据库连接模块时,报错异常: [8696] QSqlDatabase: QMYSQL driver not loaded [8696] QSqlDatabase: available drivers: [8696] mysql open error &...

2019-12-20 10:43:13

阅读数 96

评论数 0

原创 QT 信号槽使用

需求:A界面打开B界面,B界面关闭时回传数据给A。 A.h文件中添加: public slots: void receivMsg(QString data);//接收数据 B.h文件中添加: signals: void sendMsg(QString data);//发...

2019-12-10 13:40:41

阅读数 82

评论数 0

原创 QT 设置阴影边框

ui->setupUi(this); ui->frame->setStyleSheet("QFrame{background-color: rgb(255, 255, 255);border-radius:1px}"); QGraphicsDr...

2019-12-05 17:53:33

阅读数 88

评论数 0

原创 QT -1: error: [debug/qrc_images.cpp] 异常解决

运行报错: -1: error: [debug/qrc_images.cpp] 解决办法: 右键.qrc文件,点击open in editor后出现的红色就误删遗留下来的问题,删掉重新编译

2019-12-05 17:32:58

阅读数 176

评论数 0

原创 QT5.6 连接操作 Mysql 5.7 方式工具整理

初次使用MYSQL时会出现:QMYSQL driver not loaded无法连接问题,此时下载相关dll(https://download.csdn.net/download/Hello___Sunshine/12000677)进行使用即可。 正常使用后开始下一步。 首先在.pro文件中添...

2019-11-27 14:02:41

阅读数 84

评论数 0

原创 HashMap笔记,主要记录一下常用方法分析。

HashMap原理重温一下做个记录: 构造方法略过。 添加、获取、初始化做个记录 put方法: final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Nod...

2019-11-22 13:45:52

阅读数 90

评论数 0

原创 五年程序员记流水账式的自白。

不知觉已中码龄已突破五年,一路走来从起初铁憨憨到现在的十九线程序员,一路成长,虽然不能成为高工,但是也能挡下一面,从15年很火的android开始入坑,走过java、.Net、QT,目前仍处于android和.net交替开发中。 毕业到现在一共就职过两家公司,目前是第二家,公司算是半个创业公司,...

2019-11-18 23:39:48

阅读数 20677

评论数 34

原创 .Net/C# 监听键盘事件

protected override void OnKeyDown(System.Windows.Input.KeyEventArgs e) { Console.WriteLine("按了删除键"); if (e.Key == Key.Back)...

2019-11-05 09:41:11

阅读数 112

评论数 0

转载 Android通用流行框架大全

1. 缓存 名称 描述 DiskLruCache Java实现基于LRU的磁盘缓存 2.图片加载 名称 描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库 Picasso 一个强大的图片下载与缓存...

2019-10-25 13:55:15

阅读数 92

评论数 0

原创 C# 调用c dll 报错受保护内存

排查后原因: C++的DLL中返回值为int* status C#中需要写为:ref int status

2019-10-22 14:08:15

阅读数 53

评论数 0

转载 三次握手和四次挥手

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/hyg0811/article/details/102366854 文章目录 1. 三次握手 1.1 为什么需要三次握手,两次不行吗? 1...

2019-10-11 09:56:11

阅读数 62

评论数 0

原创 阿里云Centos-JAVA环境部署

安装JDK: 执行命令:wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com...

2019-07-12 09:21:46

阅读数 100

评论数 0

转载 HashMap 源码详细分析(JDK1.8)

1.概述 本篇文章我们来聊聊大家日常开发中常用的一个集合类 -HashMap。HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,在计算哈键的哈希值时,null 键哈希值为 0。HashMap 并不保证键值对的顺序,这意味着在进...

2019-07-10 16:27:09

阅读数 67

评论数 0

原创 Binder

binder是一种架构,提供了服务端接口、Binder驱动、客户端接口三个模块。 binder对象一旦创建,内部会启动一个隐藏线程,该线程会接受binder驱动发来的消息,收到消息后执行binder中的onTransact方法,按照其中参数执行不同服务代码。实现Binder必须重载onTrans...

2019-07-09 09:56:55

阅读数 86

评论数 0

原创 APK运行过程

首先,ActivityThread(AT)从main函数中开始执行,调用perpareMainLooper为UI线程创建一个队列,MessageQueue,然后创建一个AT对象,AT初始化会创建一个handler对象和一个ApplicationThread(Bindler)对象,bindler负责...

2019-07-09 09:55:59

阅读数 229

评论数 0

原创 Android客户端中的线程

包含ACTIVITY的程序至少存在三个线程,每个BINDER对象都会对应一个线程,ACTIVITY启动后会创建一个VIEWROOT.W对象,同时ACTIVTYTHREAD会创建一个APPLICATiONTHREAD对象,这俩都继承binder,因此会有俩线程,负责接收LiunxBinder驱动发送...

2019-07-09 09:55:04

阅读数 86

评论数 0

原创 ActivityManagerService

主要功能: 统一调度个应用程序的Activity。 内存管理 进程管理 Activity调度机制:和应用启动新的ACtivity或者停止,首先报告给AMS,ANS接收到后首先更新内部记录,然后在通知相应的客户端进程运行或者停止Activity。 进程数据类:ProcessReco...

2019-07-09 09:53:46

阅读数 71

评论数 0

原创 Android Studio删除未使用资源

会自动查询出未使用到的资源,删除后减少APK体积!!!!

2019-07-09 09:49:49

阅读数 237

评论数 0

原创 Anroid性能优化之布局绘制

前提:界面绘制是一个IO过程,将资源映射到内存中,同时也是通过反射进行操作,这就导致速度变慢,如果布局不得当存在重绘或者层级过多,也会导致绘制变慢,因为绘制是一个自上而下的过程,层级太多那么时间就会变长。 优化方式: 1、使用AsyncLayoutInflater 异步加载,但是注意这个方式有...

2019-07-05 09:12:34

阅读数 80

评论数 0

原创 获取布局绘制时间-坑

AOP且界面的绘制时间: 非AppCompatActivity中只能使用: @Around("call(* android.app.Activity.setContentView(..))") AppCompatActivity中才能使用: @Around(&quo...

2019-07-04 15:22:08

阅读数 75

评论数 0

原创 Android性能优化之获取界面绘制时间

两个目标: 1、获取界面整体绘制时间。 2、获取界面中每个控件的绘制时间。 优化方向:选出界面绘制时间最长的,然后再根据控件绘制时间等进行优化。 界面绘制时间获取方式,方法很多种,我这里用的是AOP模式,仅做参考。 同时也可参照:https://blog.csdn.net/Hello__...

2019-07-04 10:15:19

阅读数 328

评论数 0

原创 Android性能优化之线下监测

线下监测这里指的是我们在实际开发和测试中使用的手段。 1、工具使用AS自带的Profiler。 2、MAT。 3、HOOK监测(https://blog.csdn.net/Hello___Sunshine/article/details/94396865)。 其实1、2两个工具基本能满足我...

2019-07-03 14:08:19

阅读数 66

评论数 0

原创 Andorid性能优化之线上监测

目前线上监测方式基本都是用的第三方的,如Bugly等,基本满足我们的要求。 有没我们自己能进行实现的监测方案: 1、搜集日志,将我们所需的资料进行收集剪裁后,上传至自己的服务器,然后再交由开发进行分析。 记录内容: GC频率、FPS、重启次数、内存泄露。 这种做法必须是...

2019-07-03 14:01:24

阅读数 188

评论数 0

原创 Android性能优化之内存优化(HOOK模式初学)

目的:本示例中用于检测图片尺寸和Imageview尺寸,当然也可以检测其他操作,便于发现和解决问题。 框架:王大神的epic,关于其原理可百度谷歌。 实现: gradle中引入: compile 'me.weishu:epic:0.3.6' public clas...

2019-07-01 16:43:35

阅读数 108

评论数 0

原创 Java回收算法学习笔记

标记-清除算法: 将标记为待回收的区域,进行清理回收,这样做的性能比较差些,同时会在成内存空洞,比如回收之后形成了ABA三个内存区域,B为已回收,A为正常使用,这是需要分配两个内存空间,则B就不满足条件,会造成空置。 复制算法: 将内存一分为二,回收操作后只占用了1/2的地方,这样...

2019-07-01 13:50:50

阅读数 70

评论数 0

原创 Android性能优化之启动方法总结

记录一下已知优化启动的方式: 1、引导页可预先添加一张引导图,让用户在感知上得到提升。 2、异步加载-线程池,通过线程池ExecutorService来操作启动项,依赖可以结合CountDownLatch使用,这样提升CPU利用率,从而提升效率。 也可以使用启动器的方式来进行优化,将多个...

2019-06-26 10:47:21

阅读数 88

评论数 0

原创 Android 性能优化之异步启动(ExecutorService)

记录一下学习历程。 这里以Application类为例。 我们有三个耗时启动操作,如果将它放置在Oncreate中,那无疑是会增加我们的启动时间,原因是假如设备为四核,那可能分配给我们的就只有两个,相当于是本来有四个人可以工作,但是现在有两人干了四个人的活,因此会增加时间成本,同时对CPU的利...

2019-06-26 09:44:01

阅读数 227

评论数 0

原创 Android 性能优化之资源图

目前很多美工图都是把切给IOS的图丢给Android开发,然后苦逼的Android开发就拿着这一套图进行撸,殊不知此时的地雷已经悄悄埋好,等待着有缘人去踩,梳理一下变成雷的原因,个人拙见: 假如美工给了我们一套xxhdpi的资源图,我们将这张图正确的放到drawable-xxhdpi文件夹中,界...

2019-06-25 18:42:37

阅读数 85

评论数 1

原创 Android 性能优化之运行时间监测

以Application为例,在进行项目优化时,我们需要监测该类中所有方法的运行时间,找出最耗时的操作进行分析优化。 以往比较随意的做法就是在方法前后加上System.currentTimeMillis(),两者数值进行加减得出运行时间,比如: long start = System.cu...

2019-06-25 16:53:05

阅读数 262

评论数 1

原创 Android Studio-Didn't find class XXX on path: DexPathList [zip file "/data/app/packagename/base.apk]

出现这个错误时,首先看了一圈配置文件,未发现异常,该有的都有,转而谷歌一圈,未果! 后通过gradle Console 排查猜测是引用的library,把引用的library包名更新了一下然后主工程clean后,解决问题。真是神奇的BUG ...

2019-06-25 15:55:56

阅读数 161

评论数 1

转载 Android 加载高清巨图,无需剪裁压缩

LargeImage Android 加载大图 可以高清显示10000*10000像素的图片 可以滑动,放大缩小具有PhotoView的效果 普通图片也可以用它展示 #Gradle compile 'com.shizhefei:LargeImageView:1.0.9�...

2017-11-02 07:58:54

阅读数 2552

评论数 0

原创 Activity隐式调用学习记录,

隐式调用需要Intetn能匹配到IntentFilter过滤信息。那么IntenFilter中的action、category、data的匹配规则又是如何呢? action: 这是字符串信息,系统也有为我们预定了一些,也可让我们自定义这些信息,它的匹配规则是Intent的action必须能...

2017-03-05 21:12:07

阅读数 335

评论数 0

原创 启动Activity两种方式

启动Activity方式为:显式调用和隐式调用。 显示调用: 这个我们用的多就是指定包名和类名,直接start。 隐式调用: 这个则需要明确好组件信息,因为隐式调用需要Intent能够匹配到目标组件的IntenFiter中的过滤信息,这些信息我们一般都是在xml文件中设置好,Int...

2017-03-05 20:44:46

阅读数 310

评论数 0

原创 Android Activity四种启动模式简单介绍,学习记录。

开门见山,启动模式有四种standard、singleTask、singleTop、singleInstance。 standard: 标准模式。这个是activity默认的启动模式,没有对其启动模式进行改变时,系统默认给activity的启动模式,它允许存在多个实例,你爱怎么创建怎么...

2017-03-03 22:45:15

阅读数 542

评论数 0

原创 gradle 任务依赖实现复制任务。

近期遇到一个需求,由于很少研究gradle相关,所以在实现上卡了一阵子,现已基本实现需求,回过头来记录一下。 需求: 项目中接入腾讯bugly,使用其热更新功能,由于热更新目前不支持自定义补丁包的生成路径,因此会产生一个问题就是,补丁包生成后位于build/outputs/pa...

2017-03-03 15:15:45

阅读数 2261

评论数 0

原创 回调使用记录

onclicklistener虽然天天在用,人家说那就是回调,但是还是不明白,到底怎么使,直到晚上睡觉的时候,回忆了一下代码,豁然开朗! 比如这个接口,里边就是要个标记给我。 然后在需要返回值的地方写入回调接口的参数,然后调用里边的方法。 然后调用刚才有回调接口参数的方法时,会自动实...

2015-11-10 15:09:03

阅读数 359

评论数 0

原创 夜间模式

基本为两种方式: 1、内质资源: 将资源放在一个APK里进行打包,代码直接调用。 会导致包较大,安装所占空间就相对多一些,但是现在手机的内存越做越大,我觉得这影响也不会有多严重。 2、外置资源(没玩转): 将夜间模式所需要的资源,单独放在一个宿APK里,主APK设置夜间模式的时候...

2015-11-10 14:57:08

阅读数 480

评论数 0

原创 R.java was modified manually! Reverting to generated version!项目显示红色感叹号

自己遇到的问题: 找了很多网上的解决办法未果后,查看了BuildPath 里。SVN多添加了一个jar引用导致出错,删除即可!

2015-06-10 09:27:46

阅读数 696

评论数 0

原创 周记:适配心得

前言: 1、dpi(dot per inch),即每英寸像素,所有的android设备都会被分成120(low),160(medium),240(high),320(xhigh)四种,后来随着市场上android设备越来越多,google官方又增加了213(Added in API level13...

2015-06-04 16:38:01

阅读数 743

评论数 0

原创 第三方登录、动态的加载提示和点击效果、属性动画ObjectAnimator心得

分享结构: 第三方登录 是什么? 通过第三方的账号进行授权,然后提取信息进行登录 优点? 省去了注册环节,直接获取手机上的对应第三方信息进行登录 缺点? 介入稍微繁琐,账号信息会暴露给应用 大概实现方式? 第三方平台注册应用,得到ID,下载第三方的工具包,导入项目,要使你的程序启...

2015-06-04 16:28:50

阅读数 897

评论数 0

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