上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页
摘要: 接上篇《设计模式之禅》--代理扩展:动态代理 需求:加减法计算 调用 关键 Calculator.ADD.exec(a, b) 阅读全文
posted @ 2018-02-11 15:29 嘉禾世兴 阅读(168) 评论(0) 推荐(0) 编辑
摘要: No1: 网络传输应用通常使用TCP、IP或UDP这三种协议实现数据传输。在传输数据的过程中,需要通过一个双向的通信连接实现数据的交互。在这个传输过程中,通常将这个双向链路的一端称为Socket,一个Socket通常由一个IP地址和一个端口号来确定。 No2: 在网络编程中有两个主要的问题,一个是如 阅读全文
posted @ 2018-02-09 17:10 嘉禾世兴 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 接上篇《设计模式之禅》--代理扩展:强制代理 动态代理就是在实现阶段不用关心代理谁,而在运行阶段才指定代理哪一个对象。相对来说,自己写代理类的方式就是静态代理 面向切面编程(AOP)核心就是采用了动态代理机制 调用 结果 拓展: 调用 阅读全文
posted @ 2018-02-09 17:04 嘉禾世兴 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 接上篇《设计模式之禅》--工厂方法扩展:实现单例 需求:就算你找到真实角色,也强制你使用指定代理 第一次尝试 结果 第二次尝试 结果 第三次尝试 结果 阅读全文
posted @ 2018-02-09 16:39 嘉禾世兴 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 接上篇《设计模式之禅》--单例扩展:多例模式 需求:使用工厂方法模式实现单例模式 利用反射创建单例对象 还可以扩展单例构造器 阅读全文
posted @ 2018-02-09 14:50 嘉禾世兴 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 需求:一个类只能产生两三个对象 运行结果如下 阅读全文
posted @ 2018-02-09 11:22 嘉禾世兴 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 参考文档: 简明理解三次握手和四次挥手 TCP三次握手与四次挥手过程 No1: 为什么要三次握手? 答:三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是双方确认自己与对方的发送与接收机能正常。 第一次握手:Client什么都不能确认;Server 阅读全文
posted @ 2018-02-08 15:20 嘉禾世兴 阅读(160) 评论(0) 推荐(0) 编辑
摘要: No1: 客户端与服务器的交互流程: 1)客户端执行网络请求,从URL中解析出服务器的主机名 2)将服务器的主机名转换成服务器的IP地址 3)将端口号从URL中解析出来 4)建立一条从客户端与Web服务器的TCP连接 5)客户端通过输出流向服务器发送一条HTTP请求 6)服务器向客户端回送一条HTT 阅读全文
posted @ 2018-02-08 14:29 嘉禾世兴 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 第一步: 第一层:Request--请求类型,JSON,字符串,文件 第二层:消息队列--维护了提交给网络框架的请求列表,并且根据响应的规则进行排序。默认情况下按照优先级和进入队列的顺序来执行,该队列使用的是线程安全的PriorityBlockingQueue<E>,因为我们的队列会被并发访问,因此 阅读全文
posted @ 2018-02-08 14:27 嘉禾世兴 阅读(288) 评论(0) 推荐(0) 编辑
摘要: No1: 例如:http://www.*****.com/china/index.htm 1)http:// 代表超文本传送协议,通知*****.com服务器显示web页,通常不用输入 2)www 代表一个web(万维网)服务器 3)*****.com/ 这是装有网页的服务器的域名,或站点服务器的名 阅读全文
posted @ 2018-02-06 15:27 嘉禾世兴 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 接上篇《计算机网络》读书笔记(一)--计算机网络体系结构 No1: 网络层与IP协议配套使用的还有四个协议: 1)地址解析协议ARP(Address Resolution Protocol) 2)逆地址解析协议RARP(Reverse Address Resolution Protocol) 3)网 阅读全文
posted @ 2018-02-06 09:50 嘉禾世兴 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 最近翻出大学的教材《计算机网络(谢希仁版)》看一看,网络基础还是很重要的。 No1: OSI的七层协议体系结构的概念清除,理论也较完整,但它既复杂又不实用。 TCP/IP体系结构则不同,但它现在却得到了非常广泛的应用。TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层(用网际 阅读全文
posted @ 2018-02-05 15:18 嘉禾世兴 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 插值器:就是一个函数,将时间t经过一个函数的变换映射到t',从而影响动画的运动轨迹和速度变化 如何实现一个插值器 使用 阅读全文
posted @ 2018-02-02 16:59 嘉禾世兴 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 字体适配 软键盘适配 三星手机camera拍照的bug: 1)摄像头拍照后图片数据不一定能返回;onActivityResult的data为空 2)三星的camera强制切换到横屏,导致Activity重启声明周期(但是部分机型android:configChanges也不能阻止横竖屏切换) 3)A 阅读全文
posted @ 2018-02-02 15:51 嘉禾世兴 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 适配相关术语: 分辨率:eg:480*800,1280*720。表示物理屏幕区域内像素点的总和(切记:跟屏幕适配没有任何关系)因为我们既可以把1280*720的分辨率做到4.0的手机上面。我也可以把1280*720的分辨率做到5.0英寸的手机上面,如果分辨率相同,手机屏幕越小越清晰 px(pix): 阅读全文
posted @ 2018-02-02 15:44 嘉禾世兴 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 软键盘有时会导致页面布局体验差,解决方法之一是最外层嵌套ScrollView,马马虎虎,下面是最优解 原文地址软键盘适配 工具类 清单文件配置 activity调用 阅读全文
posted @ 2018-02-02 10:52 嘉禾世兴 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 几种常见解决消息即时获取方案 1)轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息 2)SMS(短信消息)(Push)方式:通过拦截SMS消息并且解析消息内容来了解服务器的命令,但这种方式一般用户在经济上很难承受 3)持久连接(Push)方式:客户端和服务器之间建 阅读全文
posted @ 2018-02-01 16:01 嘉禾世兴 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 1)开启minifyEnabled 开启混淆,删除没用的java文件 2)开启shrinkResources 去除无用资源 3)resConfigs “zh” 删除无用的语言资源 4)使用tinypng有损压缩 TinyPNG使用一种智能有损压缩技术(通过降低图片中的颜色数量,来减少存储图片所需要的 阅读全文
posted @ 2018-01-31 17:24 嘉禾世兴 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 类型转换错误,使用Gson之类的需要注意 忽略警告 webview中js和本地代码有交互,保持桥梁类不被混淆 保持注解内容,不被混淆 保持反射调用的java类与方法,不要混淆 第三方包不被混淆 常见第三方包 阅读全文
posted @ 2018-01-31 16:56 嘉禾世兴 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 原文地址IntentService源码分析 源码可知: 1)实际上是使用了一个 HandlerThread 来维护线程的, 2) HandleThread 中,内部已经维护一个 Looper,这里直接使用 HandlerThread 的 Looper 对象,便于在 IntentService 中去维 阅读全文
posted @ 2018-01-31 16:32 嘉禾世兴 阅读(162) 评论(0) 推荐(0) 编辑
摘要: ContentProvider、ContentResolver、ContentObserver之间的关系 ContentPRrovider: * 四大组件的内容提供者,主要用于对外提供数据 * 实现各个应用程序之间的(跨应用)数据共享,比如联系人应用中就使用了ContentProvider,你在自己 阅读全文
posted @ 2018-01-31 14:00 嘉禾世兴 阅读(1427) 评论(0) 推荐(0) 编辑
摘要: 1)Android是基于Linux内核的,因此Linux对文件权限的控制同样适用于Android。在Android中每个应用都有自己的/data/data/包名文件夹,该文件夹只能该应用访问,而其他应用则无权访问 2)Android的权限机制保护了用户的合法权益。如果我们的代码想拨打电话、发送短信、 阅读全文
posted @ 2018-01-31 11:55 嘉禾世兴 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 为了应用常驻后台,避免被第三方杀掉的方法 1)Service设置成START-STICKY kill 后会被重启(等待5秒左右),重传Intent,保持与重启前一样 2)通过startForeground将进程设置为前台进程 3)做前台服务,优先级和前台应用一个级别,除非在系统内存非常缺,否则此进程 阅读全文
posted @ 2018-01-30 17:29 嘉禾世兴 阅读(120) 评论(0) 推荐(0) 编辑
摘要: Picasso、Imageloader、Fresco、Glide的优劣 Fresco: 优点: 1)图片存储在安卓系统的匿名共享内存,而不是虚拟机的堆内存中,图片的中间缓存数据也存放在本地堆内存,所以,应用程序有更多的内存使用,不会因为图片加载而导致oom,同时也减少垃圾回收器频繁调用回收Bitma 阅读全文
posted @ 2018-01-30 16:38 嘉禾世兴 阅读(174) 评论(0) 推荐(0) 编辑
摘要: handler面试必问 解析: Android提供了Handler和Looper来满足线程间的通信。 Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。 1)Looper:一个线程可以产生一个Looper对象,由它来管理此线程里的Me 阅读全文
posted @ 2018-01-30 10:10 嘉禾世兴 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 最近一直在读马伟奇老师的简书,给人以不一样的感觉,接下来的时间会做做笔记,毕竟好东西变成自己的才有用 原文地址SharedPreferencesUtils 依赖 调用即可 阅读全文
posted @ 2018-01-30 09:50 嘉禾世兴 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 原文地址:https://www.jianshu.com/p/33d499170e25 阅读全文
posted @ 2018-01-29 16:09 嘉禾世兴 阅读(365) 评论(0) 推荐(0) 编辑
摘要: No1: ANR--Application Not Responding,也就是在规定的时间内,没有响应。ANR有三种类型 1)KeyDispatchTimeout(5 seconds)--主要类型按键或触摸事件在特定时间内无响应 2)BroadcastTimeout(10 seconds)--Br 阅读全文
posted @ 2018-01-26 16:39 嘉禾世兴 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 原文地址Android面试题-onCreate源码都没看过,怎好意思说自己做android Activity扮演了一个界面展示的角色,堪称四大组件之首,onCreate是Activity的执行入口,都不知道入口到底干了嘛,还学什么android,所以本文会从源码的角度对其进行分析。 熟悉源码的会发现 阅读全文
posted @ 2018-01-25 17:24 嘉禾世兴 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 问:线程池的启动策略 线程池刚创建时,里面没有一个线程。任务队列是作为参数传进来的。不过,就算队列里面有任务,线程池也不会马上执行它们。 当调用execute()方法添加一个任务时,线程池会做如下判断 1)如果正在运行的线程数量小于corePoolSize,那么马上创建线程运行这个任务 2)当一个线 阅读全文
posted @ 2018-01-25 16:49 嘉禾世兴 阅读(1621) 评论(0) 推荐(0) 编辑
摘要: 原文地址腾讯QQ第三方登录的实现原理? Oauth当中的角色: 1.Service Provider(服务提供方): 服务提供方通常是网站,在这些网站当中存储着一些受限制的资源,如照片、视频、联系人列表等。这些网站通常使用用户名和密码来确认用户的身份。比如新浪微博的开放平台就是Service Pro 阅读全文
posted @ 2018-01-25 16:41 嘉禾世兴 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 问:为什么service里面startActivity抛异常,activity不会? No1: 启动activity有两种形式: 1)直接调用Context类的startActivity方法;这种方式启动的Activity没有Activity栈,因此不能以standard方式启动,必须加上FLAG_ 阅读全文
posted @ 2018-01-25 16:28 嘉禾世兴 阅读(206) 评论(0) 推荐(0) 编辑
摘要: Toast.matkText才会创建一个新的实例 阅读全文
posted @ 2018-01-25 14:33 嘉禾世兴 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(十四)--JNI和NDK编程 No1: 如果<include>制定了这个id属性,同时被包含的布局文件的根元素也制定了id属性,那么以<include>指定的id属性为准 No2: 绘制优化 1)onDraw中不要创建新的局部对象 2)onDraw方法中 阅读全文
posted @ 2018-01-25 12:05 嘉禾世兴 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(十三)--综合技术 No1: Java JNI--Java Native Interface(java本地接口),它是为了方便java调用C、C++等本地代码锁封装的一层接口。 No2: NDK是Android所提供的一个工具集合,通过NDK可以在And 阅读全文
posted @ 2018-01-25 11:24 嘉禾世兴 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(十二)--Bitmap的加载和Cache No1: 使用CrashHandler来获取应用的crash信息 No2: 在Android中单个dex文件所能够包含的最大方法数为65536,这包含Android FrameWork、依赖的jar包以及应用本身 阅读全文
posted @ 2018-01-24 14:17 嘉禾世兴 阅读(198) 评论(0) 推荐(0) 编辑
摘要: No1: 插件化技术的好处: 1)减轻应用的内存和CPU占用 2)实现热插拔,即在不发布新版本的情况下更新某些模块 No2: 插件化方案必须要解决三个基础性问题:资源访问、Activity生命周期的管理和ClassLoader的管理 No3: 宿主是指普通的apk,插件一般指经过处理的dex或者ap 阅读全文
posted @ 2018-01-24 14:11 嘉禾世兴 阅读(2151) 评论(0) 推荐(0) 编辑
摘要: 源码地址https://github.com/king1039/android-art-res/tree/master/Chapter_13/CrashTest/src/com/ryg/crashtest 使用 测试 阅读全文
posted @ 2018-01-24 10:50 嘉禾世兴 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 接上篇《android开发艺术探索》读书笔记(十一)--Android的线程和线程池 No1: 目前比较常用的缓存策略是LruCache和DiskLruCache,LruCache常被用作内存缓存,DiskLruCache常被用作存储设备缓存。 Lru是Least Recently Used的缩写, 阅读全文
posted @ 2018-01-23 15:37 嘉禾世兴 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 原文地址https://github.com/singwhatiwanna/android-art-res/tree/master/Chapter_12/src/com/ryg/chapter_12/loader 阅读全文
posted @ 2018-01-23 15:18 嘉禾世兴 阅读(284) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页