cudy25
码龄11年
求更新 关注
提问 私信
  • 博客:58,812
    社区:292
    问答:2,756
    61,860
    总访问量
  • 15
    原创
  • 4
    粉丝
  • 12
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2014-09-13
博客简介:

hyhdcl的专栏

查看详细资料
个人成就
  • 获得18次点赞
  • 内容获得5次评论
  • 获得41次收藏
  • 博客总排名389,791名
创作历程
  • 1篇
    2018年
  • 6篇
    2017年
  • 8篇
    2016年
  • 1篇
    2014年
TA的专栏
  • 设计模式
    1篇
  • 安卓性能优化
    1篇
  • android
    5篇
  • 软件架构设计
    1篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

77人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

进程间传递Parcelable对象出现ClassNotFoundException异常的解决方法:

通过Bundle传递数据时出现ClassNotFound异常的解决方法: 在开发中可能有时候会遇到用Bundle传递一个Parcelable对象时出现ClassNotFound异常,而且这个异常有时候会出现有时候又不会出现,比如你在同一个进程通过Activity间传递数据时就不会出现,但是你通过进程间传递时就会出现,具体是什么原因?我先总体说下出现这个问题的原因和解决方案,然后再从源码分析为什么这
原创
博文更新于 2016.09.29 ·
3678 阅读 ·
6 点赞 ·
0 评论 ·
6 收藏

android 多进程操作sp问题

最近在项目中遇到了关于sp操作的一些问题,分享出来避免大家踩坑。问题描述:假如你的应用拥有多个进程,比如有两个进程,分别叫进程A和进程B,你定义了一个sp文件叫apkInfo用于存储应用的一些信息。A进程和B进程都需要存取应用信息,所以你在A进程和B进程都会操作apkInfo这个sp文件,这样会导致apkInfo存储的数据出现丢失的情况,使应用出现一些意想不到的bug(假如你存了一些比较重...
原创
博文更新于 2020.03.03 ·
3938 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

通过adb获取安卓应用屏幕所有控件信息

执行命令: adb shell uiautomator dump /sdcard/ui.xml 可以获取当前应用屏幕上所有控件的信息并保存在sdcard下ui.xml文件里面. 然后通过解析ui.xml文件就可以拿到想要的控件信息.原理: 调用安卓设备系统文件中/system/bin/uiautomator.jar包执行dump指令.局限: 只支持sdk版本16以上的手机
原创
博文更新于 2020.02.25 ·
28856 阅读 ·
2 点赞 ·
4 评论 ·
9 收藏

final关键字详解

java中final表示的是不可变性,它可以用来修饰类,方法和变量。下面将介绍使用final关键字时的注意事项。修饰类        1. 只能修饰非抽象类,不能修饰抽象类。要理解这句话其实很简单,因为抽象类本来就是被设计成是希望被继承的一个类,而final是希望保持不变的,这两个是互相冲突的概念,所以final关键字不能修饰抽象类。        2. final类不能被继承,没有子类,fina...
原创
博文更新于 2018.04.07 ·
370 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

设计模式——观察者模式详解

在23种设计模式中,观察者模式是最常用的设计模式式之一,在程序开发中经常会用到,特别是在像Android,IOS等基于GUI的系统开发中。理解,并掌握观察者模式能够帮助我们解决很多应用开发过程中遇到的问题。在学习每一种设计模式之前应该考虑清楚,模式的意图,解决什么问题,有什么优缺点,以及怎么合理地应用到具体的项目开发中。今天我就围绕着几个问题来讲解观察者模式。1.观察者模式的定义在软件...
原创
博文更新于 2018.02.16 ·
888 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

安卓图片内存优化(一)——图片占用内存大小的计算

安卓开发中经常会遇到因为图片处理不当导致的oom问题,因为系统分配给每个应用的最大内存空间是有限的,正常只有几十上百兆(排除通过特殊情况获取到几百兆内存空间的情况)。所以为了节省更多的空间需要对图片进行内存优化。对于很多初学者来说应该都会有这样的疑惑: 只是加载了一张几百k的图片而已,为什么也会导致oom的问题?想知道问题的答案我们得弄明白图片在内存中占用的空间大小是如何计算的。1. 图片相关的
原创
博文更新于 2017.09.15 ·
1802 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

java中Math.floor,ceil,round的区别

Math.floor(param) 返回不大于param的最大整数 Math.ceil (param)返回不小于param的最小整数Math.round(param) 返回param的4舍5入值 round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的
原创
博文更新于 2017.09.13 ·
624 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

对 MVC架构的理解

在开发图形界面应用程序的时候,为求更好的管理应用程序的复杂性,基于职责分离的思想会对应用程序进行分层,把管理用户界面的层次称为View,管理应用程序数据的层次称为Model。有了View和Model的分层,那么就有了个问题:View如何同步Model的变更?为了解决这样的问题于是就有了MVC架构模式。这里需要注意: 1.Model指的是Domain Model,是应用程序对需要解决的问题的数据抽象
原创
博文更新于 2017.09.04 ·
525 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

观察者模式的应用:模拟MVC架构的实现

mvc架构是安卓的经典架构模式,它是观察者模式的一个典型应用场景。今天我就用java程序来简单模拟mvc架构的实现。首先,简单说下什么是mvc架构。 mvc架构由model,view和controller三者组成,基于职责分离的原则,三者分别承担不同的职责。 view:负责界面显示逻辑 model:负责数据封装以及相关业务逻辑 controller:view与mode的中间者,负责传递事件,
原创
博文更新于 2017.09.04 ·
3815 阅读 ·
4 点赞 ·
0 评论 ·
35 收藏

Activity启动模式详解

这篇博客是我通过google官网学习并结合自己的项目经验对安卓启动模式相关内容的总结。以下是google中文官网的学习地址,如果想了解更多细节可以到官网继续学习 google中文官网学习地址在学习Activity启动模式之前我们需要先明白一个概念,任务和返回栈。 谷歌官方关于任务返回栈是这样描述的: 任务是指在执行特定作业时与用户交互的一系列 Activity。 这些 Activi
原创
博文更新于 2017.07.23 ·
502 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

google中文官网

https://developer.android.google.cn/index.html
原创
博文更新于 2017.07.09 ·
5102 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

drawable文件夹图片在各个像素密度下的大小

图片的大小放在各个drawable文件夹下在下列对应的像素密度手机显示时是自己本身的图片大小:mdpi->160dpihdpi->240dpixhdpi->320dpixxhdpi->480dpixxxhdpi->640dpi举个例子:假如分辨率为1080*1920的图片放在xxhdrawable文件夹上,则在480dpi的手机上bitmap的大小是1080
原创
博文更新于 2017.02.24 ·
668 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于安卓布局优化的几点建议

从google安卓官方文档中学了安卓布局优化的相关知识,现总结几点分享给大家:1.能不用LinearLayout就尽量不要用,可以用RelativeLayout代替。因为LinearLayout是一种嵌套布局,很多情况下需要通过层层嵌套才能实现我们想要的效果,而在安卓中布局嵌套越多在view绘制的时候会增加遍历次数,对性能的影响就越大2.布局要尽量设计成矮而宽,避免出现高而窄的布局。原因也是因为布局
原创
博文更新于 2016.11.13 ·
520 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

求解 求大神指导 工厂方法模式到底有神优点好处

答:

工厂有三种,简单工厂,工厂方法,抽象工厂。其中你问的应该是第二种工厂方法吧。工厂方法相比于其他两种方法完全支持开闭原则。所谓的开闭原则就是对扩展开放,对修改关闭,再说白点就是实现工厂方法以后要进行扩展时不需要修改原有代码,只需要增加一个工厂实现类和产品实现类就可以。这样的好处可以降低因为修改代码引进错误的风险

回答问题 2016.09.28

Java单例设计模式中,可以举例说明一下什么样的一个类只能存在一个对象吗?

答:

有些对象的方法在任何对象使用它时做的事情都是一样的,而且还很有可能经常会用到。这样就没必要每次都要去开启一个新对象,只需一个对象就可以解决问题

回答问题 2016.09.28

安卓进入扫一扫界面速度太慢

之前在项目中做过一个任务就是解决应用中进入扫一扫界面速度太慢的问题,从中获得不少体会,现将其分享给大家:首先,我们先来分析为什么进入扫一扫界面会缓慢呢? 主要是因为我们在初始化扫一扫界面时必须实现一个运行于surfaceview上的动画效果(扫一扫的动画),动画效果的绘制显然是个比较耗时的过程,除此之外还得做一些初始化摄像头的操作,如果都是把这些操作都做好了再进入界面,这样就会造成等待太久的问题,
原创
博文更新于 2016.08.22 ·
3651 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

安卓状态栏优化,实现透明状态栏,沉侵式状态栏,改变状态栏颜色

1.实现透明状态栏安卓4.4以上才可以实现透明状态栏,具体代码如下:Window window = activity.getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);实现透明状态栏会默认把应用的布局延伸到状态栏位置,如果不想布局延伸到状态栏显示,则可以通过View.se
原创
博文更新于 2016.08.20 ·
1524 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

安卓开发中调用系统服务的方法

//直接拨号Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678"));startActivity(callIntent); //将电话号码传入拨号程序 Intent dialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:12345678"))
转载
博文更新于 2014.10.11 ·
844 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多