
Android
文章平均质量分 90
Android Framework,APP相关
可夫小子
《小白玩转ChatGPT》专栏作者,关注AIGC、职场和自媒体
展开
-
1-如何挑选Android编译服务器
Intel Xeon E5是英特尔公司推出的一款针对服务器市场的处理器系列,它以提供高性能、高可靠性和丰富的内置功能而著称。第五代至强E5处理器在多个方面进行了显著的改进和优化,最主要是便宜,从几块到一百多块不等。E5从上市到现在也十多年了,所以也发展了丰富的产品线,这个在挑选的时候要注意辨别。小心商家用十年前的芯片卖给你,帮他消库存,虽然便宜,但性能就会大大折扣。2024年7月X99平台至强E5V3V4价格行情推荐[1]原创 2024-07-22 16:22:21 · 1757 阅读 · 0 评论 -
怎样在github上协同开发
How to co-work wither parter via github. Github不仅有很多开源的项目可以参考,同样也是协同开发的最佳工具,接下来的就模拟一下协同开发的过程。原创 2014-09-02 19:49:43 · 28673 阅读 · 1 评论 -
Embedded Android 协同翻译
如果你有一定的Android的基础和英语基础, 有愿意贡献开源社区的心, 如果你对以下目录感兴趣, 欢迎加入我们协同翻译《Embedded Android》 此次协同翻译,将使用github的形式,请您务必有一个github的账号。 1,The Content 1 Preface . . . . . . . . . . . .原创 2014-09-01 19:37:17 · 3731 阅读 · 5 评论 -
embedded android 协同翻译继续招募中
第一章和第三章已经开始翻译中,第二章和第四章还等待认领。协同翻译继续招募中Embedded_Android_in_Chinese描述:co-work QQ群: 15997841book pdf 文档位于source/下面,请依据这个文档进行翻译当前进度章节认领中......github参与简明流程初原创 2014-09-22 15:57:09 · 1436 阅读 · 0 评论 -
Launcher2折腾之路(1)
想自己写一个Launcher,但无从下手,那就从Launcher2源码开刀吧。一味的看源码也不是个事,那就自己动手折腾,修改Launcher来加深对Launcher的理解。 1,把work_space中的cell默认是5个,要整成1个。我的屏幕的size是720P-50hz,对应的Layout文件夹是layout-sw720dp/。我也不知道怎么对应上的,一个一个试的。——!!!原创 2014-07-12 17:02:59 · 1293 阅读 · 0 评论 -
Launcher2折腾之路(2)
Launcher2折腾之路(2) 1,改变apps的行列数(默认是8*5),和调整ICON大小 APP行列数改变values-sw720dp/config.xml (找到对应的config.xml文件,我这里只是以当面分辨率来测试) 1 integer name="cell_count_x"> 5/ integer>原创 2014-07-19 11:22:55 · 1207 阅读 · 0 评论 -
Launcher2折腾之路(3)
Launcher2中的壁纸选择器在Launcher2 这个Application中是一个Activity,先看一下Manifest.xml 1 activity 2 android:name="com.android.lau原创 2014-08-02 17:24:59 · 2037 阅读 · 0 评论 -
Launcher2折腾之路(4)
Launcher2折腾之路(4) LauncherMode.java的回调机制与异步操作。 1,回调机制 “if you call me, i will call back”,说白了,就是有相互依赖关系的两个类之间的互相调用; 用java的回调机制来实现C语言中的函数指针的传递; 接口中有许多作用,除了统一方法接口、引用传递(数据交互)之后,还有回调机制,在Android中,这篇文章总结原创 2014-08-25 16:19:59 · 1345 阅读 · 0 评论 -
input 之我见1
input 之我见InputMangerService是怎么产生的?base/services/java/com/android/server/SystemServer.java Slog.i(TAG, "Input Manager");原创 2015-07-21 17:16:35 · 1315 阅读 · 0 评论 -
android 系统Style,Theme,以及自定义模板(declare-style)
1,系统的Style,Theme的关系链在attrs.xml声明一种属性textColorHint" format="reference|color" />||在style_material.xml中引用这些attrTextAppearance.Material"> textColor">?attr/tex原创 2015-06-12 16:27:48 · 2096 阅读 · 0 评论 -
AudioPolicyService与HAL接口
这里主要讲简练地讲了Serivce与HAL的接口关系,两个重要的数据结构 hw_module_t (有通过methods->open成员,这里顺便再讲下hw_methods_t) hw_device_t (有直接close成员) 这两个成员在hardware.h中,有必要记住成员关系struct hw_module_t;struct hw_module_methods_t;原创 2015-07-22 09:23:53 · 1866 阅读 · 0 评论 -
Android L日志系统1——logd
在介绍完Android M之前的日志系统的实现之后,我们现在来看看现在最新的Android L的日志机制。Android L与之前版本最大的变化,就是日志保存的位置由Kernel的Ringer Buffer(前一篇文章已经介绍过)改成用户层Buffer来存储,用户层的Buffer的读定存储设置管理,都由logd这个服务来实现,现在我们来一探究竟。分析完logd之后,再花一篇文章,简单的过一下上层写原创 2016-12-27 10:12:29 · 7843 阅读 · 0 评论 -
Android L日志系统2——JavaAPI与liblog
在 Android L(包含Android L)之后,Andoird使用了全新的日志系统,也非之前结合Kernel Ring Buffer的方式来存储,读写Log。替而代之是使用新的日志机制Logd。所以说,在/dev/log/下面创建的几个设备,根本就没有使用!没有使用! 其实,init在创建它们的时候,就有说明,只是没有注意到了。 INFO("kernel logger is deprec原创 2017-01-03 19:42:55 · 1400 阅读 · 0 评论 -
Binder杂谈——getSystemService
Client想要播放Audio,首先要获得AudioManager,如下方式:接下来就一步步分析mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);//2.1分析 mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC原创 2015-05-19 18:58:35 · 3236 阅读 · 0 评论 -
设计模式In Android——观察者(Observer)模式_1
写在前面的话: 1,记录学习的过程,希望能够坚持下去。 2,代码Based On Android4.4;主要参考书籍《Head First 设计模式》什么是观察者模式? 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。怎么设计一个观察者模式的程序? 确定两个核心对象:(《Head First》Chapter 2) a.主题(Subj原创 2015-05-20 16:46:45 · 1150 阅读 · 0 评论 -
Settings中的xml中的值与SettingsProvider中default.xml中的值的区别
最近在看Settings中的一个默认值的时候,发现有两个地方使用,有点疑问。这两个defaultval有啥区别?./res/xml/sound_settings.xml:109104 105 android:key="sound_effects"106 android:title="@string/sound_原创 2015-05-05 17:18:12 · 7414 阅读 · 0 评论 -
Watchdog in Android
Watchdog in Android 这里讲的Watchdog是AndoirdFramework中提到Watchdog类,不是一般CPU中用于系统复位的Watchdog硬件. 我认为Android的Watchdog就是系统一种软件检查一些关键服务是否发生死锁的机制 1,先看一下Watchdog在Android中的位置 2,在SystemServer使用单例模式构造自己原创 2014-07-28 00:10:08 · 1547 阅读 · 0 评论 -
Android libdvm.so 与 libart.so
Android libdvm.so 与 libart.so系统升级到5.1之后,发现system/lib/下面没有libdvm.so了,只剩下了libart.so。对于libart模式,从4.4就在Developer optins里面就可以手动选择,到5.1算是转正了。1,什么是libdvm,libart。Android KK里引入了ART虚拟机作为Dalvik虚拟机的原创 2015-03-31 15:33:44 · 20020 阅读 · 3 评论 -
杂谈面向对象设计模式
Interface in Java & 工厂模式Java(或者说面向对象)语言几点规则1,复用性强2,高内聚,低耦合3,开闭原则(对扩展开放;对修改封闭)4,针对接口编程,不针对实现编程高内聚、低耦合 的理念怎么说?高内聚:是一个类专注做一件事,这样可以提高复用性;低耦合:减少类与类之间原创 2015-04-02 10:08:22 · 955 阅读 · 0 评论 -
Observer Pattern in Android
观察者模式 1,引子 Settings中的SettingObserver来改变系统中亮度。 SettingsAppWidgetProvider.java 930 /** Observer to watch for changes to the BRIGHTNESS setting */ 931 private static class SettingsObserver原创 2014-08-16 17:34:07 · 939 阅读 · 0 评论 -
Android 关机(reboot)流程
Base On Android 4.2recovery 和 reboot流程part 1.reboot recovery流程。1,RecoverySystem.java中 private static File RECOVERY_DIR = new File("/cache/recovery"); private static File COMM原创 2015-04-17 11:28:56 · 6207 阅读 · 0 评论 -
Android NDK tombstone分析工具
Android NDK tombstone分析工具 在Andoird Native库发生异常的时候,Linux会发生不同级别的sig,来结构相关进程的运行,同时会产生tombstone trace文件用于记录发生崩溃寄存器和堆栈的状态。 这里面的涉及的知识点很多,但该文主要是介绍一下这种情况debug的工具stack.py。 1,keypoint a,Android sig/进程间通原创 2014-07-19 12:13:47 · 8707 阅读 · 2 评论