随笔分类 -  框架

framework
摘要:我们先来看看效果 上面是根据图片检测出其中的人脸、每个人脸的年龄还有性别,非常强大 第一步: 登录https://ai.arcsoft.com.cn/,注册开发者账号,身份认证,注册应用,得到APPID和SDKKEY 第二步: 阅读SDK接入文档https://ai.arcsoft.com.cn/m 阅读全文
posted @ 2019-05-29 17:33 嘉禾世兴 阅读(3826) 评论(0) 推荐(0) 编辑
摘要:这两天在研究蓝牙,网上有关蓝牙的内容非常有限,Github上的蓝牙框架也很少很复杂,为此我特地写了一个最最简单的DEMO,实现BLE蓝牙接收数据的问题, 不需要什么特定的UUID, 不需要什么断开重连, 不需要什么多连接等等, 网上都把BLE蓝牙写的好复杂好复杂,那不是我想要的,我只想为新手提供一个 阅读全文
posted @ 2019-05-16 14:39 嘉禾世兴 阅读(4744) 评论(1) 推荐(1) 编辑
摘要:1)开启minifyEnabled 开启混淆,删除没用的java文件 2)开启shrinkResources 去除无用资源 3)resConfigs “zh” 删除无用的语言资源 4)使用tinypng有损压缩 TinyPNG使用一种智能有损压缩技术(通过降低图片中的颜色数量,来减少存储图片所需要的 阅读全文
posted @ 2018-01-31 17:24 嘉禾世兴 阅读(186) 评论(0) 推荐(0) 编辑
摘要:ContentProvider、ContentResolver、ContentObserver之间的关系 ContentPRrovider: * 四大组件的内容提供者,主要用于对外提供数据 * 实现各个应用程序之间的(跨应用)数据共享,比如联系人应用中就使用了ContentProvider,你在自己 阅读全文
posted @ 2018-01-31 14:00 嘉禾世兴 阅读(1460) 评论(0) 推荐(0) 编辑
摘要:为了应用常驻后台,避免被第三方杀掉的方法 1)Service设置成START-STICKY kill 后会被重启(等待5秒左右),重传Intent,保持与重启前一样 2)通过startForeground将进程设置为前台进程 3)做前台服务,优先级和前台应用一个级别,除非在系统内存非常缺,否则此进程 阅读全文
posted @ 2018-01-30 17:29 嘉禾世兴 阅读(124) 评论(0) 推荐(0) 编辑
摘要:Picasso、Imageloader、Fresco、Glide的优劣 Fresco: 优点: 1)图片存储在安卓系统的匿名共享内存,而不是虚拟机的堆内存中,图片的中间缓存数据也存放在本地堆内存,所以,应用程序有更多的内存使用,不会因为图片加载而导致oom,同时也减少垃圾回收器频繁调用回收Bitma 阅读全文
posted @ 2018-01-30 16:38 嘉禾世兴 阅读(187) 评论(0) 推荐(0) 编辑
摘要:handler面试必问 解析: Android提供了Handler和Looper来满足线程间的通信。 Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。 1)Looper:一个线程可以产生一个Looper对象,由它来管理此线程里的Me 阅读全文
posted @ 2018-01-30 10:10 嘉禾世兴 阅读(233) 评论(0) 推荐(0) 编辑
摘要:最近一直在读马伟奇老师的简书,给人以不一样的感觉,接下来的时间会做做笔记,毕竟好东西变成自己的才有用 原文地址SharedPreferencesUtils 依赖 调用即可 阅读全文
posted @ 2018-01-30 09:50 嘉禾世兴 阅读(213) 评论(0) 推荐(0) 编辑
摘要:No1: 插件化技术的好处: 1)减轻应用的内存和CPU占用 2)实现热插拔,即在不发布新版本的情况下更新某些模块 No2: 插件化方案必须要解决三个基础性问题:资源访问、Activity生命周期的管理和ClassLoader的管理 No3: 宿主是指普通的apk,插件一般指经过处理的dex或者ap 阅读全文
posted @ 2018-01-24 14:11 嘉禾世兴 阅读(2173) 评论(0) 推荐(0) 编辑
摘要:源码地址https://github.com/king1039/android-art-res/tree/master/Chapter_13/CrashTest/src/com/ryg/crashtest 使用 测试 阅读全文
posted @ 2018-01-24 10:50 嘉禾世兴 阅读(344) 评论(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 嘉禾世兴 阅读(287) 评论(0) 推荐(0) 编辑
摘要:需求: 1.页面上悬浮一个搜索框,点击可伸缩 2.可以搜索上一个下一个 3.搜索标题内容 效果图: 注意点: 1.起始一个搜索小图片,终止一长条搜索框,中间用View做一个动画,这三个都是CardView 2.为了处处使用,封装了起来 3.搜索到的内容放进一个list,保存位置,点击上一个下一个滑动 阅读全文
posted @ 2018-01-19 13:58 嘉禾世兴 阅读(664) 评论(0) 推荐(0) 编辑
摘要:AppWidgetProvider是android提供实现桌面小部件的类,本质是一个广播,即BroadcastReceiver。是继承关系 开发步骤: 1.在res/layout/下新建一个XML文件,命令为widget.xml,名称和内容可以自定义 2.在res/xml/下新建appwidget_ 阅读全文
posted @ 2018-01-10 14:42 嘉禾世兴 阅读(407) 评论(0) 推荐(0) 编辑
摘要:No1: Model一般用来保持程序的数据状态,比如数据存储、网络请求等 No2: Android开发中应用到MVC的地方:比如ListView与Adapter,如果把ListView看作View层,那么Adapter则可以看作Controller,获取ListView展示数据的相关实现类则看作Mo 阅读全文
posted @ 2017-12-05 14:19 嘉禾世兴 阅读(278) 评论(0) 推荐(0) 编辑
摘要:效果图: 1.切换横竖屏 2.重力感应切换横竖屏 3.判断网络状态 videoview布局: 网络状态监听广播 提示对话框 重力感应 有几个需要注意的坑 1.ijkVideoView的setVideoPath方法是直接播放的,但是setOnPreparedListener准备是需要时间的,如果4G进 阅读全文
posted @ 2017-08-30 15:55 嘉禾世兴 阅读(591) 评论(0) 推荐(0) 编辑
摘要:布局: 风格: selector java类: 调用: 封装起来更好用 阅读全文
posted @ 2017-08-30 10:31 嘉禾世兴 阅读(520) 评论(0) 推荐(0) 编辑
摘要:接上篇《深入理解Android2》读书笔记(四) startActivity Am am最终将调用AMS的startActivityAndWait函数来处理这次启动请求。 startActivityLocked函数的主要工作包括 1.处理sourceRecord及resultRecord。其中,so 阅读全文
posted @ 2017-07-14 17:54 嘉禾世兴 阅读(2377) 评论(0) 推荐(0) 编辑
摘要:接上篇《深入理解Android2》读书笔记(六) 广播接受者 注册 ContextImpl 最终都执行 AMS 1.在AMS中,BroadcastReceiver的过滤条件由BroadcastFilter表示,该类从IntentFilter派生。由于BroadcastReceiver可设置多个过滤条 阅读全文
posted @ 2017-07-14 17:54 嘉禾世兴 阅读(783) 评论(0) 推荐(0) 编辑
摘要:接上篇《深入理解Android2》读书笔记(七) AMS中的进程管理 AMS对进程的管理仅涉及两个方面 1.调节进程的调度优先级和调度策略 2.调节进程的oom值 调度优先级和调度策略 1.相对于在OS(操作系统)上运行的应用进程个数来说,CPU的资源非常有限 2.调度优先级是OS分配CPU资源给应 阅读全文
posted @ 2017-07-14 17:54 嘉禾世兴 阅读(748) 评论(0) 推荐(0) 编辑
摘要:网络监听的自己写过一个,刚在github上找到一个,先保存着,以后直接用 原文地址:https://github.com/GHdeng/NetMonitor 使用广播监听网络变化 ###需求确认 监听当前网络的状态和类型 类似京东客户端,当网络发生变化时相应更新UI界面 ###制作流程 #####1 阅读全文
posted @ 2017-05-22 11:41 嘉禾世兴 阅读(851) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示