- 博客(179)
- 资源 (39)
- 收藏
- 关注

转载 为什么年事已高的我还在编程?
为什么年事已高的我还在编程?摘要: 人们都会期望随着岁数的增加,个人条件受到限制的时候,你会放弃现实里的一些工作,如编程。从而转向更加高大上的任务,比如管理一个团队或者融资。这在“真正的教授”决定细节的学术界确实如此,只保留“大方向的东 ...人们都会期望随着岁数的增加,个人条件受到限制的时候,你会放弃现实里的一些工作,如编程。从而转
2014-07-25 12:36:21
1326

转载 别因为要学的太多反而压垮自己
别因为要学的太多反而压垮自己转载自:http://www.apkbus.com/portal.php?mod=view&aid=11294摘要: 自学是个好主意。我非常赞成终生学习,你应该这样做。但是,在软件开发领域,有如此多的新技术,有如此多要学习的东西,我们在学习中会感觉被完全压垮了。你感觉你一直在扮演追赶的角色,但是一直都赶不上。就像是跑 ...
2014-07-25 10:54:55
1396

转载 程序员的恶性循环
穷人的恶性循环: 穷 -> 需要努力工作 -> 没有时间去交际 -> 人脉越来越狭窄 -> 工作越来越难做 -> 越需要努力去工作 -> 越没有时间去发展人脉 -> 越穷富人的良性循环: 有钱 -> 工作很轻松 -> 很多时间都在交际上 -> 人脉越来越广 -> 工作越来越不用努力 -> 越有更多的时间精力去发展人脉 -> 越富有 程序员的恶性循环: 加班
2014-04-11 10:34:38
1454

原创 思考“我所了解的一个精神失常的程序员”
不久前我们公司有个程序员精神失常。他走进经理办公室开始大喊大叫,说着一些奇怪的事情。如果我不是像了解自己一下了解他,就会以为他磕了药。但是事实上他简直就是精神失常了。他是我在编程行业见过的最勤奋员工。他经常在下班后加班,周末的时候,当管理人员需要人手去处理紧急工作时,他总是随叫随到。在这个阶段公司并不赚 钱,老板需要尽可能快的完成项目,所以任何被客户急催的软件开发都会自动分配给他。他很乐意
2014-04-04 13:04:59
2957

转载 长时间工作意味着什么
长时间工作意味着什么原文链接:http://wearemammoth.com/2013/11/long-hours译文链接:http://blog.jobbole.com/52441/在科研和设计部门经常有人会长时间工作,一周会超过70个小时。他们就像获得荣誉勋章的烈士一样。但我们要清楚一点,长时间工作其实意味着:你是在免费工作。即使你获得了薪水,但你还是在
2013-12-04 17:48:14
1644
原创 如何在Ubuntu20.04上安装adb和fastboot
在连接android设备之前,我们需要确保设备已启用“ USB调试”。可以通过进入“设备设置”然后进入“开发者选项”来启用它(某些设备要求您在“关于电话”部分的“ Android版本”上点击几次以启用“开发者选项”)。现在,一旦启用,我们所要做的就是使用USB电缆将我们的Android设备连接到Ubuntu系统。步骤1.首先,通过apt在终端中运行以下以下命令,确保所有系统软件包都是最新的。注意:如果在连接设备后获得有关错误的任何权限,请重新启动ADB服务器,然后重试。步骤3.检查ADB连接。
2024-07-26 17:00:45
1806
原创 Android 开发中px、dpi 和 dp三个单位的介绍
最小的显示单位,用于精确控制元素大小和位置。表示屏幕每英寸的像素数,用于适配不同密度的设备。建议使用的单位,可根据设备密度进行适配,用于定义布局大小和间距。在 Android 开发中,理解和正确使用这些单位是确保应用在不同设备上良好显示和用户体验的关键。
2024-07-25 19:58:30
1368
原创 Android应用加载那个mipmap
不同的 mipmap 文件夹对应不同密度的设备,系统会根据设备的实际密度(DPI,dots per inch)来选择最合适的资源加载。文件夹是 Android 开发中用来存放适用于非常高密度设备(xxxhdpi 设备)的应用图标资源的文件夹,是为了优化在高分辨率屏幕上的显示效果而设计的。因此,开发者需要根据不同的密度为应用提供不同分辨率的图标资源,确保在不同屏幕密度的设备上显示时都能保持良好的视觉质量和清晰度。适用于高密度屏幕,约为 240dpi 的设备,通常是早期高端 Android 设备的标准。
2024-07-25 19:52:41
1384
原创 Android中的usescleartexttraffic属性详解
usesCleartextTraffic 是 Android 应用程序开发中的一个重要配置选项,用于控制应用程序是否允许通过不加密的 HTTP 协议进行网络通信。在 Android 应用的开发过程中,正确地配置 usesCleartextTraffic 对于保护用户数据安全、符合最佳实践和遵守法律法规非常重要
2024-07-24 13:51:54
4273
1
原创 Android应用中的明文流量配置问题
AndroidManifest.xml 文件中的网络安全配置属性,用于指定应用是否允许发送和接收未加密的网络流量。在Android中,默认情况下,应用程序无法使用明文(非加密)的网络请求。然而,有时候我们需要允许应用程序使用明文流量,以便与不支持加密的服务器进行通信。这是更安全和推荐的方法。通过使用HTTPS协议来加密网络通信,可以确保数据在传输过程中的安全性。因此,建议仅在确保服务器支持加密通信的情况下使用此方法。但是,请考虑到安全性和数据保护的重要性,尽量避免使用明文流量,而是使用加密通信。
2024-07-24 13:45:56
547
原创 Android中systrace配置及注意问题
systrace 允许在启动期间收集内核和 Android 跟踪记录。systrace 的可视化可以帮助分析启动过程中的具体问题。(不过,如果要查看整个启动过程中的平均数量或累计数量,直接查看内核跟踪记录更为方便。解决“ImportError: No module named win32con”和“ImportError: No module named six”由于事件过多,I/O 分析通常需要直接分析捕获的 boot_trace。如果是详细的 I/O 分析,还要添加块以及 ext4 和 f2fs。
2024-07-22 16:17:17
1581
原创 Android系统中如何删除开机动画
Animation的资源大小和播放时长一直是影响开机时间的重要因素之一,移除开机动画将有效地加快开机速度。或者在mk文件中直接配置 debug.sf.nobootanimation 属性值为1即可。
2024-07-22 16:08:07
684
原创 am start -W 命令详解-可以测量应用启动时间的命令
是一个 Android am命令的参数子集,用于启动应用程序并等待应用程序启动完成。这个命令非常有用,特别是当你需要测量应用程序启动时间或者调试应用程序的启动过程时。
2024-07-20 10:17:45
1336
原创 am start 命令详解
在 Android 中,am start 命令是一个强大的工具,用于启动应用程序的活动、服务或广播接收器。它是 Android Debug Bridge (ADB) 工具的一部分,允许开发者和测试人员在命令行中启动应用程序的组件、进行调试以及进行测试。本文将详细介绍 am start 命令的使用、参数、进阶技巧和调试方法。
2024-07-20 10:09:15
4006
原创 Android init.rc各阶段的定义和功能
early-init阶段定义early-init是系统启动的最初阶段,用于完成最基本的系统初始化任务。功能挂载关键分区:如/system/data/vendor。设置基本系统属性。进行一些基础的初始化操作。配置示例# early-init 阶段的任务# 挂载系统分区# 设置基本系统属性触发时机: 在init进程开始运行后立即执行,通常在内核完成启动后最初的阶段。功能总结挂载分区。设置系统属性。基础初始化任务。
2024-07-19 14:19:02
3509
原创 Android init.rc的启动流程
Android 系统的启动过程分为几个主要阶段,每个阶段负责不同的初始化任务。在 Android 启动时,init程序是第一个运行的用户空间进程。init负责启动系统服务、挂载文件系统、设置权限等任务。init.rc是init程序的配置文件,定义了这些启动任务和服务的详细信息,文件中的指令会按照特定的顺序执行来完成这些任务。
2024-07-19 14:02:01
1827
原创 Android init 中的wait_for_property指令
指令用于在init.rc文件中等待特定的系统属性达到预期值。系统属性是 Android 操作系统中的一种键值对机制,用于在不同的系统组件之间传递信息。
2024-07-18 14:22:48
1334
原创 如何识别Android init 中的缓慢操作
在 Android 系统中,init进程负责启动系统服务、配置属性和执行系统初始化任务。识别和优化init进程中的缓慢操作对于提高系统启动性能和整体响应性至关重要。本文档将详细介绍如何识别init中的缓慢操作,提供具体的方法和工具,以及如何解决这些问题。
2024-07-18 13:29:37
1242
原创 Android init常用调试工具
高级文件系统调试工具,可以查看和修改文件系统的内容。是 Android 系统中的第一个用户空间进程,负责启动系统服务、设置系统属性和处理启动任务。进程调试工具的详细介绍,包括工具的使用方法、命令示例和应用场景。进程的性能问题和配置问题是提高系统启动效率和可靠性的关键任务。进程中的性能问题,识别缓慢操作的根本原因,并进行相应的优化。是一个命令行工具,用于收集跟踪数据,查看系统和应用的事件。是一个更高级的性能分析工具,提供详细的系统级别的性能数据。是一个用于收集设备状态的工具,可以帮助诊断系统问题。
2024-07-17 16:57:32
1179
原创 Android init.rc如何并行执行任务
在 Android 系统中,init.rc 是一个重要的启动脚本,用于定义系统启动时需要执行的服务、操作和初始化任务,也是用来配置系统启动时的各种服务、属性和动作的脚本文件。虽然 init.rc 文件本身是一个序列化的配置文件,init.rc 文件中的命令通常按顺序执行,但 Android 的 init 进程和 init.rc 文件中的机制允许一定程度的并行执行任务,通过特定的机制,Android 也支持并行执行 init.rc 中的命令。
2024-07-17 14:52:39
1489
原创 Android系统中Launcher应用是被谁启动的
在 Android 系统中,Launcher是一个重要的应用,它负责显示主屏幕、管理应用程序图标和提供启动应用程序的界面。Launcher 是由启动和管理的,具体来说,Launcher 的启动过程涉及多个 Android 系统组件和机制。
2024-07-16 16:50:46
1227
原创 Ubuntu上安装配置samba服务
在Ubuntu中安装配置samba共享服务,可以让你在网络上共享文件和打印机。以下是一个相对详细的步骤指南,介绍如何在Ubuntu上安装和配置Samba。
2024-07-16 09:52:33
6772
原创 Android 14 开机时间优化措施汇总
优化Android设备的开机时间是提升用户体验和设备性能的关键任务。以下是针对Android 14开机时间优化的全面措施汇总,包括不同层级的优化策略、工具和方法。
2024-07-15 18:00:27
1764
原创 Android 14 开机时间优化措施
在Android 14中,优化开机时间涉及多个层级的性能优化,从系统启动到应用加载的每一个阶段都可能影响最终的开机时间。以下是详细的措施和策略,可以帮助我们在Android 14设备上进行开机时间优化。
2024-07-15 17:55:56
2418
原创 根据systrace报告优化系统时需要关注的指标和优化策略
在优化系统时,systrace是一个非常有用的工具,它可以帮助开发人员分析和优化系统性能。systrace。
2024-07-14 22:53:38
419
原创 分析 Android 应用中的日志信息应遵循的原则
用于记录大量的调试信息,通常在开发过程中使用,以便全面了解应用的内部运行情况。但在发布的应用中一般不建议保留大量的。通过以上方法,可以更有效地从 Android 应用的日志中提取有价值的信息,帮助我们解决问题、优化应用性能和改进功能。这表示可能存在潜在的问题或需要关注的情况,但应用还能继续运行。在实际开发中,根据不同的场景和需求选择合适的日志级别,可以更有效地进行调试和监控应用的运行状况。稍微简洁一些,主要用于帮助开发人员在调试阶段跟踪应用的流程和变量值等。级别的日志来提供基本的运行信息。
2024-07-14 22:40:31
402
原创 在 Android 应用中使用日志记录功能应遵循的原则
在 Android 中考虑使用一些成熟的日志框架,如 Logback、Log4j 等,它们提供了更强大的功能和配置选项。为每个日志消息设置一个独特且有描述性的标签,以便于在查看日志时快速区分不同模块或功能的输出。使日志消息清晰、简洁,并包含足够的上下文信息,以便在出现问题时能够快速理解。特别是在测试和出现问题时,通过查看日志来发现和解决潜在的问题。不要在日志中包含用户的个人身份信息、密码或其他敏感数据。避免过度记录日志,以免影响应用性能和占用过多的存储空间。如前所述,在发布的生产版本中,通常只保留关键的。
2024-07-14 22:32:39
322
原创 Android上如何使用perfetto分析systrace
可以编写 Python 脚本来解析和分析 Perfetto trace 数据。Perfetto 提供了 Python API 进行更深层次的数据处理。示例:使用 Perfetto 分析 Systrace 数据。
2024-07-11 16:57:48
1755
1
原创 Android系统设置kernel log level的方法
kernel log内容过多/过少会影响分析问题,各种系统的版本对kernel log的等级要求也不一样,因此需要对kernel log进行设置。
2024-07-11 16:39:59
2205
原创 Android系统通过属性设置来控制log输出的方案
编译后的版本,就可以根据需要通过以下两个属性,对AccessibilityCache.java和GnssLocationProvider.java文件中的log进行输出控制。2、可以在系统中任意的rc文件中添加属性配置,这里我们选择system/core/logcat/logcatd.rc文件。由于该属性不能直接进行保存,所以,需要进行转接,通过persist属性进行控制。1、通过Log.isLoggable控制的log属性标签。在其中对log.*属性和persist.*属性进行关联。
2024-07-10 19:02:09
789
原创 Android14系统应用统一裁剪方案
当前移除集成到系统里的应用,一般都是根据应用名,到各个mk文件里逐个在PRODUCT_PACKAGES中删除;参考PRODUCT_PACKAGES变量,添加PRODUCT_DEL_PACKAGES变量,用来管理裁剪掉的应用。新增一行_product_single_value_vars += PRODUCT_DEL_PACKAGES。裁剪掉EasterEgg,然后进行编译,完成后,在out中查找不到EasterEgg相关生成物。一般编辑的文件路径为device/公司名/产品名/device.mk。
2024-07-10 17:05:36
1639
原创 使用ADB命令控制logcat日志本地存储功能
因此对于无法进入工程模式GUI界面的场景需要一种方式,在不进行界面操作或切换 USB mode的情况下,也能启用 logcat 日志的本地存储。使用GUI界面的工程模式/开发者选项可以打开 logcat 日志的本地存储功能,从而可以很方便的抓取完整的开机日志。这种命名很相似的属性,他们的什么区别和联系,可以从代码中关于各属性的描述进程查看。在命令行环境下,通过直接修改下列属性值,就可以打开/关闭 logcat 日志本地存储功能。这个属性进行了重新定义造成的,可搜索这个属性在代码中的位置,跟踪分析原因。
2024-07-09 19:25:12
2395
原创 Ubuntu20.04下修改samba用户密码
在Ubuntu系统中,修改samba密码通常涉及到两个方面:更改samba用户的密码和重置samba服务的密码数据库。为实际的samba账户名。如果是第一次设置samba密码,可能需要使用。替换为实际的Samba用户名。系统会提示你输入新密码。如果samba用户已经存在,可以省略。请确保有足够的权限来执行这些操作,并且替换掉。
2024-07-09 11:14:37
1125
原创 Android多用户基础问题
将用户添加到设备后,当另一个用户位于前台时,某些功能会受到限制。由于应用程序数据是按用户分开的,因此这些应用程序的状态因用户而异。例如,发送至当前未关注的用户帐户的电子邮件将不可用,直到该用户和帐户在设备上处于活动状态。此外,如果设备需要额外的内存用于前台用户的操作,系统进程将停止后台辅助用户。默认情况下,退出访客模式时,访客用户会话中的信息不会保留。(用户 ID = 0)身份运行,而不管当前用户是哪个用户。因此,取决于用户的设备路径(如。管理员用户可以删除应用程序,甚至可以删除辅助用户建立的整个工作区。
2024-07-08 17:27:19
1362
原创 Android多用户adb命令
profileOf userId:可选参数,用于指定新用户的配置文件。新用户将会继承指定用户的配置文件。如果不提供此参数,则新用户将拥有默认的配置文件。–managed:可选参数,指定新用户是否是受管理的。如果提供了此参数,则新用户将是受管理的,否则将是普通用户。为特定用户列出软件包(-e 可列出已启用的软件包,-d 可列出已停用的软件包)。默认情况下,此命令始终为系统用户列出软件包。adb shell操作多用户的命令如下。获取当前(前台)用户 ID。安装应用到某个用户下。为特定用户卸载软件包。
2024-07-08 17:25:32
1561
原创 Android Studio Run窗口中文乱码解决办法
依次打开菜单:Help--Edit Custom VM Options,打开studio64.exe.vmoptions编辑框(如果没有该文件,请按照提示自动创建即可)在studio64.exe.vmoptions中添加 -Dfile.encoding=UTF-8。shift 按键多次出发,在其中输入vmoptions,打开编辑。重启AndroidStudio。
2024-07-06 21:49:54
487
原创 内存对齐宏ALIGN的理解
在Android相机HAL代码中经常看到ALIGN这个宏,主要用来进行内存对齐,下面是v4l2_wrapper.cpp中ALIGN的一些定义。在函数中,出现 ALIGN的地方,用后面的((size + align - 1) & (~(align - 1)))代替!现在要分配一个内存空间,从0地址开始,size为需要占据的字节大小,按照align个字节对齐,则结束地址应该为多少。ALIGN(15, 4),就应该等于16,我们计算一下,会发现确实等于16。就是定义一个常量函数常量ALIGN。
2024-07-06 21:36:46
523
原创 Android Camera API发展历程
Android系统中Camera API是用于控制相机设备的主要API,到目前为止,Camera API历史上共历经了三版重要的API。在Android 5.0之前,主要使用的是Camera API1,但现在已经弃用。从Android 5.0开始,Google推荐使用Camera2 API。在更高版本的Android中,CameraX API被引入,它是基于Camera 2 API的封装,进一步简化了开发流程,并增加了生命周期控制。
2024-07-05 15:47:06
1344
Android版书架源码
2013-10-18
PC鼠标键盘操控手机工具:androidscreencast.jnlp
2013-12-14
类似美图秀秀的Android源码
2013-10-19
VisualSVN.Server.v2.7.2安装包及注册机
2013-11-04
Android Apollo音乐播放器
2013-11-12
myFragment
2011-09-11
myBase Desktop 6.3.4完美破解绿色中文版
2014-01-15
FrontEnd Plus 2.0
2012-04-23
myFragmentAbout
2011-09-11
FragmentPreference的使用Demo
2013-07-12
ARDC安卓投屏助手ARDC(B1358)
2020-08-19
myBase Desktop V7.0_Beta26注册补丁
2017-03-02
myBase Desktop V7.0_Beta25中文绿色注册版
2017-01-12
myBase Desktop V7.0_Beta27注册补丁
2018-03-07
ARDC安卓投屏助手ARDC(B1185)
2020-08-19
myBase Desktop V7.3.3注册补丁
2019-10-23
严蔚敏数据结构C语言版(CHM)
2015-04-21
Mindmanager模板素材超全199项
2017-05-02
Mindmanager16模板素材超全199项
2017-05-02
Android项目源码仿QQ毕设包括论文开题报告服务器数据库.rar
2016-03-09
myBase Desktop V7.0_Beta24中文绿色破解版
2017-01-12
Java本地接口(JNI)编程指南和规范
2014-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人