自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

垂天云的专栏

编织未来,程就梦想!情归何处,怀揣现实!

  • 博客(28)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android 下一代架构指南:DDD

Presenter 与 View 为一对一的方式,就像一块蛋糕(View),指派给一个厨师(Presenter)去制作,但是厨师一个人需要做的事情太多,他需要亲自加工食材(Model),再将这些材料一一装饰在蛋糕上面,如图 4 所示。基于 DDD 的思想,新闻客户端实现了一套包含 UseCase 的基础框架,划分出了领域模型,由于视频详情页由多 Fragment 组成,技术团队还加入了共享变量层,使拥有统一生命周期的组件之间能解耦传递数据,重构后的视频详情页整体架构如图 8 所示。

2023-04-01 10:44:11 861

原创 关于Android Context的几点理解

4-Application/Activity/Service 有自己的Context,不同的是activity继承的是contextThemeWrapper。5-ContentProvider中的context初始化 在application onCreat()前。3-有了context 应用才可以访问系统服务 系统资源。1-抽象类 实现类都在contextImpl这个类中。2-提供抽象方法 startActivity。

2023-03-06 15:25:48 120 1

原创 Android Application 的几点理解

5- 继承context wrapper 可以当成一个context来用。7-不要在application的构造函数中去使用上下文(未准备好)6-attach方法 负责和AMS通信(binder调用)4-应用开几个进程就会创建几个application。1-系统组件-应用进程在,application在。8-不要在生命周期会掉执行耗时操作阻塞UI线程。3-提供上下文对象,不担心内存泄漏。2-初始化在 四大组件之前。

2023-03-06 14:29:28 84

原创 Kotlin项目添加Aop切片编程遇到的坑

kotlin项目添加java类的AspectJUtil,遇到了1、java.lang.ClassNotFoundException: 本地clean,rebuild都有问题,AS缓存导致(换JAVA Demo 秒好)2、java.util.zip.ZipException: zip file is empty ,基本确定就是@Around("execution(void android.view.View.OnclickListener.onClick(...))")注解的语法规则问题!.

2021-02-02 17:56:04 2562 3

转载 Android之okhttp_v3.4版本网络连接超时问题解决方案

APP上的loading框一直在转消失不掉,当时产生了几个猜想:1、DNS解析出问题了2、服务端有问题3、哪里超时了4、哪里死循环了一开始以为是偶然,结果短短一天内,有好几个用户反馈有这个问题,所以这绝对不是偶然,一定是有一个条件触发了这个bug。由于我们自己调度了dns,所以一开始我们以为是httpdns的问题,但是通过简单的日志分析,发现其实并不是httpdns的问题,因为httpdns返回的解析结果和localdns的结果是完全一致的。所以基本排除了dns解析出问题了这个可能。然

2021-01-08 18:27:55 6229

原创 只说ThreadLocal类

一共700多行代码,源码ThreadLocal类的注释是:/** * This class provides thread-local variables. These variables differ from * their normal counterparts in that each thread that accesses one (via its * {@code get} or {@code set} method) has its own, independently ini

2021-01-07 14:42:00 135

原创 Flutter的重要依赖CocoaPods安装心得

Mac版本10.15.7下安装的Flutter 13.14.25CocoaPods安装非常重要!报错如下:sudo gem install cocoapods/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin19/rbconfig.rb:229: warning: Insecure world writable dir /usr/local/sbin in PA...

2021-01-04 17:04:11 2326

原创 在AndroidStudio下加装 Flutter 13.14.25(Mac OS)

基于各个链接的总结:1、AS中添加flutter和dart 插件(设置中搜索)2、github添加flutter依赖库-->下载到本地目录3、修改环境变量&配置(mac需要进入HOME下的./.bash_profile文件修改)export PATH=/Users/xxxxx/Development/flutter/bin:$PATH// 该 PATH 字段的值为 flutter 的安装文件路径,即 PATH=flutter 文件安装路径/bin:$PATHexport

2021-01-04 16:42:41 137

原创 简析Android内存泄漏

GC回收机制 Android虚拟机的垃圾回收采用的是根搜索算法。GC会从根节点(GC Roots)开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾,会被GC回收掉。 根搜索算法相比引用计数法很好的解决了循环引用的问题。举个例子,Activity有View的引用,View也有Activity的引用,之前我还尝试去源代码里找Activity何时和View

2016-01-07 15:49:10 479

原创 Android开源类库和工具集合

Action Bars ActionBarSherlock Extended ActionBar FadingActionBar GlassActionBar v7 appcompat library 广告 AdMob Google Mobile Ads SDK InMobi mMedia mobileCore MoPub Tapjoy Analytics Google

2016-01-07 15:17:45 4338

原创 Android四组件之ContentProvider架构&Demo

Android中的Content provider机制可支持在多个应用中存储和读取数据。这也是跨应用共享数据的唯一方式。在android系统中,没有一个公共的内存区域,供多个应用共享存储数据。Android提供了一些主要数据类型的Content provider,比如音频、视频、图片和私人通讯录等。可在android.provider包下面找到一些android提供的Content provider

2015-11-26 16:08:36 1103

转载 关于Handler引起的内存泄露

Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可到达,同样会被GC回收。

2015-11-26 10:25:10 543

原创 Android-Studio之mipmap目录和drawable目录详解

简单说一下:使用上没有任何区别,你把它当drawable用就好了。但是用mipmap系统会在缩放上提供一定的性能优化。官方介绍:Mipmapping for drawablesUsing a mipmap as the source for your bitmap or drawable is a simple way to provide a quality image and various i

2015-11-20 10:30:31 4961 1

原创 Android Studio之版本管理工具Git的使用

Android studio 目录下的VCS,选择git,主要的功能都在这里了。 1、开始做项目,拉去代码主要是应用git pull ,导入代码。和SVN差不多,如果一开始看不到git,那么可能就是初始化AS的时候没有选择git插件,这种情况一般很少的,不过一旦少了git插件容易让人摸不到头脑。 2、pull下来之后,在as右上角会询问你add root…这个消息是问你将当前项目commit到改

2015-11-17 19:49:42 1076

转载 米推(MiPush)简述

小米推送是小米公司为应用开发者提供的免费推送服务。帮助应用保持与用户的联系,将信息实时送达到用户,让用户可以更快的获取信息。小米推送的最大特征是省电,简单,可靠,安全。1)小米推送的背景和历史我们使用IOS刷微博的时候,接收到了一条微信,这个时候,系统会有通知,告诉你收到一条微信,但是此时,微信并没有在后台启动,当你决定打开微信时,这时候微信才会在你的后台启动,但是当我们使用android刷微博的时

2015-11-16 10:59:57 25274 4

原创 Android UI 新消息提醒_BadgeView Plus

效果图炫爆了!什么小红点,消息数目,甚至是图片,表情,要什么有什么堪称强大!我们暂且称它为BadgeView Plus !

2015-11-11 17:26:12 765

原创 在Linux下开发ROM常用的命令

首先说一句Linux下是 区分大小写的!Command List: cd cp rm mv find grep list make chmod cat tar kill 稍等我有空都给他补全,加细哈~这些命令没有必要都记住,这些需要在实际操作中多操作几次就会了,关键是要知道什么时候用哪个合适的命令才是大牛!尤其是在搜索的时候,指尖在飞~

2015-11-10 18:13:05 888

原创 Android四组件之Service&Demo

Service(服务)是一个没有用户界面的在后台运行执行耗时操作的应用组件。其他应用组件能够启动Service,并且当用户切换到另外的应用场景,Service将持续在后台运行。

2015-11-10 17:57:37 541

转载 一些App开发指南

网上找到了一些关于个人独立开发App的指南,欢迎补充!一 :后台: 顾名思义:除了单机游戏,端上需要服务器的支持! 1、后台数据存储1. StackMob Product | StackMob 2. Parse Products 3. Bmob Bmob移动后端云服务平台 4. Leancloud LeanCloud应用数据分析 二:数据分析(开发者平台) 1. 友盟 友盟-专业

2015-11-09 14:36:03 498

原创 Android~Fragment~碎片化知识点

一、为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像Activity一样包含布局。 可以说Fragment是一种轻量级的Activity,引入Fragment后,一个屏幕下布局更有了定制性和扩展性,降低了业务间的耦合性。二、Activity中动态添加Fragment主要分为4步:1.获取到FragmentManag

2015-11-02 11:20:05 835

原创 设计模式之原型模式(Prototype Pattern)

一、原型模式(Prototype Pattern)介绍: 原型模式(Prototype Pattern)定义如下: Specifythe kinds of objects to create using a prototypicalinstance,and create new objectsby copyingthis prototype. (用原型实例指定创建对象的种类,并且通过

2015-10-30 20:22:07 556

原创 Android_布局Selector与Shape的基本用法

情景再现:UI按照720P切图,缩放成.9图片缩放后边角会出现虚化~特此要用代码解决~1. Selectordrawable 的 item 中可以有以下属性:[html] view plaincopyprint?android:drawable ="@drawable/drawable_resource"  android

2015-07-07 17:59:47 2669

转载 Android Studio 快捷键大全

本文中的快捷键收集于网络,我再此做了一个整理。当中很多的快捷键我没有使用过,如果你发现当中的一些快捷键没有效果或者是错误的,请帮忙指正。同时,如果你发现一些快捷键没有添加进来,欢迎你回复本文,我将第一时间进行添加。说明:斜体文字表示,测试时没有效果或者没有测试时没有达到预先条件的情况下没有效果。 由于网站的编译器不支持表格,所以无法使用代码生成表格,只能给大家看截图了。markdo

2015-05-21 18:11:11 395

原创 Android自动化测试工具对比

总结了个Android自动化测试工具图如下:

2015-05-19 18:06:58 458

原创 Java&Android代码注释规范

一、注释及简介1、鄙人写的一些代码中,虽说有注释,但都是一些不符合规则的注释,即便拿出来查阅,也要花很一些时间才能搞懂程序的流程。为了良好的编程风格,我特意学习了java的文档注释,也分享给大家,良好的编程风格确实很重要,不可忽略···2、说一个简单的问题,什么是注释呢?      注释就是让编码器不编译(不执行),在代码的编写过程中我们需要对一些程序进行注释,除了自己方便

2015-05-19 17:18:02 4400 1

转载 Android Studio 入门指南

关于Android Studio我写了一个系列的文章,这篇文章就把 这个系列的文章做一个目录使用,以后我再更新android studio这个系统文章的时候,会把这篇文章作为这个系列的目录一同更新,下面介绍下已经写过的关于 Android Studio(以下简称 AS)的文章概要和地址。1、AS 安装准备——主要介绍 jdk 1.7的详细安装过程和步骤http://

2015-04-16 19:21:33 489

原创 浅析MVP(Model-View-Presenter)架构及开发模式

一、概述MVC模式已经出现了几十年了,在GUI领域已经得到了广泛的应用,由于微软ASP.NET MVC Framework的出现,致使MVC一度成为.NET社区的热名话题。作为MVC的变种MVP模式,也已经出现好几年了,在微软模式与实践小组提供的Web Client Software Factory中,给出了实现MVP模式的应用程序最佳实践,本文将试着对这两种实现比较一二。

2015-04-15 14:04:23 2140

原创 初来乍到,多多关照!

大家好!做了这么多年的技术,今天来CSDN开通了博客,决心以后多多发表一些原创技术领悟!希望和大家多多交流,共同进步!

2015-04-14 22:56:03 458

BadgeViewPlusDemo

BadgeView——徽章视图(包含动画效果)显示位图或文本。

2015-11-11

ServiceDemo

Android Service Demo(集成Send-Email功能)

2015-11-10

重构-改善既有代码设计

重构-改善既有代码设计,java描述,本书写的非常好!非常经典之作,之前国内是买不到正版书,终于找到了这个电子版!

2015-07-15

Pro Android 5

精通Android必备,Android入门,进阶必备工具书!

2015-07-15

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

TA关注的人

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