Fork me on GitHub
摘要: 此篇罗列我的个人网站中关于**Android Framework Display/Graphics图形显示模块和C++**等其他的文章。 Android文章整理 Android ANR基本Log分析 Android 图形显示框架 Android NE分析(二) Android NE分析(一) And 阅读全文
posted @ 2020-07-29 20:33 sunwengang 阅读(517) 评论(0) 推荐(0) 编辑
摘要: Android性能分析工具systrace的使用,能根据需要抓取trace。 了解trace文件中数据的含义,能分析简单的性能问题。 1、systrace简介 systrace是Android4.1版本之后推出的,对系统Performance分析的工具。 systrace的功能包括跟踪系统的I/O操 阅读全文
posted @ 2018-11-23 15:02 sunwengang 阅读(24629) 评论(0) 推荐(5) 编辑
摘要: 本篇针对Surface模块进行分析,从Java层的Activity创建开始,到ViewRoot、WindowsManagerService,再到JNI层和Native层。 首先推荐一个Android源码查看的网站:http://androidxref.com/ Surface的创建涉及三个部分: A 阅读全文
posted @ 2018-10-26 19:50 sunwengang 阅读(3500) 评论(0) 推荐(0) 编辑
摘要: C/S架构(Client/Server,即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。客户端和服务器直接相连,这两个组成部分都承担着重要的角色。 Android内核是基于 阅读全文
posted @ 2018-10-24 17:19 sunwengang 阅读(1095) 评论(0) 推荐(0) 编辑
摘要: Android系统中的消息驱动工作原理: 1、有一个消息队列,可以往这个消息队列中投递消息; 2、有一个消息循环,不断的从消息队列中取得消息,然后处理。 工作流程: 1、事件源将待处理的消息加入到消息队列中,一般是加至队列尾部(优先级高的消息可以加至队列头),事件源提交的消息可以是按键、触摸等物理事 阅读全文
posted @ 2018-10-22 16:24 sunwengang 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 首先对ADB作简单的阐述,接下来对adb shell dumpsys SurfaceFlinger服务的dump信息的查看、以及ANR问题如何获取trace文件并简单分析。 -×************************************************************* 阅读全文
posted @ 2018-10-19 15:09 sunwengang 阅读(3404) 评论(0) 推荐(0) 编辑
摘要: 本篇针对surfaceFlinger模块进行分析,目录如下: 1、SurfaceFlinger功能 1.1、BufferQueue原理(native/libs/gui模块) 1.2 layer显示内存分配(native/libs/ui模块) 1.3、surfaceFlinger处理(native/. 阅读全文
posted @ 2018-10-18 14:11 sunwengang 阅读(7981) 评论(0) 推荐(0) 编辑
摘要: 阅读Android源码需要对C++基础语法有一定的认识,借此对C++做一个简单的语法认知。 1、数据类型 一些基本类型可以使用一个或多个类型修饰符进行修饰: signed unsigned short long (1)typedef 声明 使用 typedef 为一个已有的类型取一个新的名字。下面是 阅读全文
posted @ 2018-10-16 17:54 sunwengang 阅读(526) 评论(0) 推荐(0) 编辑
摘要: 目录: 1、Android系统架构 2、Android类库 3、四大组件 1、Android系统架构 从架构图看出架构分为五个部分,由下往上依次为: Linux Kernel:Android基于Linux提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也 阅读全文
posted @ 2018-10-15 18:35 sunwengang 阅读(1260) 评论(1) 推荐(0) 编辑
摘要: 面试涉及问题含有: Java JDK8新特性 集合(哈希冲突、HashMap的原理、自动排序的集合TreeSet) 多线程安全问题 String和StringBuffer JVM 原理、运行流程、内部结构 Linux 查询含有某字符串内容的命令grep 查询进程、GC状态、杀死进程 Hadoop五种 阅读全文
posted @ 2018-09-08 23:24 sunwengang 阅读(1873) 评论(0) 推荐(1) 编辑
摘要: 1、传入年龄段,两个值,一个最小值,一个最大值,然后获取该年龄段的两个时间戳: (1)处理时间方法: (2)调用: (2)调用: select *FROM member_infoWHEREFROM_UNIXTIME(`birthday`,'%m') = 7 (4)在Java中拼接成条件字符串: 阅读全文
posted @ 2018-08-17 15:26 sunwengang 阅读(2517) 评论(0) 推荐(0) 编辑
摘要: 因为做一些商场某个会员今年的消费分析,所以对sql中时间的获取进行了判断。 例如获取今年(即当前年的第一天到昨天0时之间)的消费总额。 如果需要时间戳转换,用UNIX_TIMESTAMP()函数。 一 、下面是一些mysql的时间获取语句: 二、举几个某会员的消费分析的sql语句: 二、举几个某会员 阅读全文
posted @ 2018-07-02 16:36 sunwengang 阅读(12883) 评论(0) 推荐(1) 编辑
摘要: 日志显示进程端口已被占用,首先需要的是查询什么进程占用了当前的9999端口。 1、win+R输入cmd进入命令界面: 2、输入命令 netstat -ano|findstr "端口号" 输入前半部分圈起来的命令是显示所有的进程和端口号 显示的结果最后的6184就是任务管理器里面的PID(标识) 3、 阅读全文
posted @ 2018-06-05 16:12 sunwengang 阅读(1916) 评论(0) 推荐(0) 编辑
摘要: 今日打包编译项目时,发现缺少一个git pull更新项目的脚本,所以在linux编写了一个gitpull.sh脚本,能够实现更新项目的需求。 1、首先vi gitpull.sh或者使用vim编辑器。 2、内容 #!/bin/sh (首行) cur_dir=$(pwd) cd $cur_dir/mob 阅读全文
posted @ 2018-06-04 10:14 sunwengang 阅读(3990) 评论(0) 推荐(0) 编辑
摘要: 从去年下半年实习结束,到找到第一个属于自己的工作,我就开始着手搭建自己的网站。 使用阿里云学生服务器,域名,备案解析后,开始设计网站结构和页面布局。 因为临近毕业,网站真的是写的页面怎么多怎么写,所以说写到现在发布后,网站我真的是不忍直视。 登录wizzie.top,你们看吧~~ 前端用了Boots 阅读全文
posted @ 2018-05-15 17:20 sunwengang 阅读(730) 评论(2) 推荐(0) 编辑
摘要: 运行审核流模块: 在ActivitiServiceApplication模块日志报错: Error starting ApplicationContext. To display the auto-configuration report re-run your application with ' 阅读全文
posted @ 2018-01-26 16:36 sunwengang 阅读(31290) 评论(0) 推荐(0) 编辑
摘要: 在本地的IDEA写了一个简单的maven项目,仅展示一个页面。之后将项目git push到服务器上。 在服务器git pull拉取(第一次需要clone),之后将项目打包编译后的做法如下: 前提(服务器环境要搭建好(java、maven、tomcat、git详情见前面的博客)) 1、项目克隆到服务器 阅读全文
posted @ 2018-01-20 18:04 sunwengang 阅读(1998) 评论(0) 推荐(0) 编辑
摘要: 1、服务器Git安装配置 相关链接 相关链接 注意ssh-keygen 、修改权限 权限: 相关链接 2、本地获取 git clone name@ip:服务器项目位置 相关链接 3、创建本地分支推送到远程 git branch name git push origin name 3.1 服务器权限配 阅读全文
posted @ 2018-01-04 12:56 sunwengang 阅读(1181) 评论(0) 推荐(0) 编辑
摘要: 当代码push到远程,远程运行出错时如何检查? 打开XShell登录远程 具体步骤: 1、切换至bop项目 2、进入日志路径 2.1右击选取重置终端 3、浏览器运行有错的地方 3.1XShell查看日志: 阅读全文
posted @ 2018-01-03 18:04 sunwengang 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 看起来是几何问题,实际上是函数问题。--2017.12.29 昨晚切换分支到另一个项目,雨后竹笋般冒出一堆一堆的错误.... 今日11.15方解决,问题主要出在两点: 1、config-server模块的启动配置文件下模块未切换 2、切换后springboot的yml文件内数据库连接接口没有修改 此 阅读全文
posted @ 2017-12-29 11:22 sunwengang 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 有时候会出现乌班图系统刚安装,无法使用apt下载安装软件工具,此时需要修改apt下载源。 1、进入/etc/apt/目录下 2、备份sources.list文件(如果不在root用户下,需在前面加sudo权限) cp sources.list sources.list.bak 3、清空sources 阅读全文
posted @ 2017-12-18 20:35 sunwengang 阅读(7128) 评论(0) 推荐(0) 编辑
摘要: 这周完成了一张表单,重点碰到以下问题: 1、freemaker获取年份的type值取year,类型直接为Long,传至后台和获取数据不需要转换; 2、freemaker获取日期type值为date,类型需要转换成时间戳,页面类型String,数据库类型Long,需要在接收数据类中进行类型转换和日期处 阅读全文
posted @ 2017-12-15 17:27 sunwengang 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 自动化测试的整体步骤如下(目标为一个程序Triangle.java): Triangle.java代码如下: 1‘自动生成测试用例(利用randoop工具),得到测试用例集文件(tests.java文件): (1) 在目标路径下放置Triangle.java;在命令界面当前路径下输入javac Tr 阅读全文
posted @ 2017-12-13 09:02 sunwengang 阅读(8898) 评论(0) 推荐(0) 编辑
摘要: 店铺运营数据录入表实现的下拉框实现 从片区管理中提取分区数据,在招商管理(MIS)模块中获取并以下拉框的形式展现 ctrl类: 1、首先在ctrl类注入需提取另一模块字段的serviceclient接口类 2、编写begin()方法,提取数据 3、begin()方法调用一转化Json方法: 4、在进 阅读全文
posted @ 2017-12-12 11:29 sunwengang 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 后台数据库定义的日期类型是Long,即以时间戳的形式存储;页面上搜索框的日期类型则为String类型。而日期的String和Long类型在时间戳上并不相等! 我在代码中展现怎么转换日期类型,可以通过debug和时间戳的转换器来理解两者的区别。 1、首先在页面搜索框(仅是搜索框,其他展示和增删改查定义 阅读全文
posted @ 2017-12-12 10:21 sunwengang 阅读(1545) 评论(0) 推荐(0) 编辑
摘要: 单表插入项目,插入前正常,插入后运行webapplication报错: run: debug: 于webapplication报错: Injection of autowired dependencies failed; nested exception is java.lang.IllegalAr 阅读全文
posted @ 2017-12-09 13:54 sunwengang 阅读(56941) 评论(0) 推荐(0) 编辑
摘要: 山门也有门门道道, 开发、测试、安卓...... 小子被纳入MIS小山峰,虽不及BOP势力庞大,高手如云, 仅寥寥七人, 却也于入小山峰之事乐趣至极。 前几日峰主布下一道新手任务, 制作一张单表并运行 1、环境 2、项目运行 3、单表制作 1、环境 JDK1.8(原用JKD9,奈何JDK9目录结构大 阅读全文
posted @ 2017-12-09 12:48 sunwengang 阅读(1352) 评论(0) 推荐(0) 编辑
摘要: 修道之路,长漫漫, 吾将上下而求索。 刚步出学堂,初踏入山门。 山门虽小,仙神道佛各有法通。 小子于11.14被纳入门下, 至11.27略知门规一二。 且听慢慢道来...... 11.14 当日一前辈扔下一道旨令: 1:mybatis 数据持久化2:Spring Mvc 重点是注解3:bootStr 阅读全文
posted @ 2017-12-09 10:59 sunwengang 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 在前一篇的基础上,现在对服务器进行环境搭建,其实就是安装你需要的软件,配置环境变量,然后安装tomcat。 环境搭建 1、git bash连接服务器(或者XShell等工具) 2、搭建mysql环境 首先查看系统版本 输入下载命令 sudo apt install mysql,tab键会出现很多版本 阅读全文
posted @ 2017-11-23 11:35 sunwengang 阅读(757) 评论(0) 推荐(0) 编辑
摘要: 这一篇网络爬虫的实现就要联系上大数据了。在前两篇java实现网络爬虫和heritrix实现网络爬虫的基础上,这一次是要完整的做一次数据的收集、数据上传、数据分析、数据结果读取、数据可视化。 需要用到 Cygwin:一个在windows平台上运行的类UNIX模拟环境,直接网上搜索下载,并且安装; Ha 阅读全文
posted @ 2017-09-25 18:36 sunwengang 阅读(2362) 评论(0) 推荐(0) 编辑