"资源所有者密码流"和"客户端凭据流"之间的区别对我来说似乎不太清楚.前者似乎将密码凭证转发给服务器进行验证,而后者也以某种方式对服务器进行身份验证,但规范没有指定此处使用的方法.此流程是否适用于cookie会话?规范并没有真正提供一个明确的用例.
从OAuth 2.0规范:
+---------+ +---------------+
| | | |
| |>--(A)- Client Authentication --->| Authorization |
| Client | | Server |
| |<--(B)---- Access Token ---------<| |
| | | |
+---------+ +---------------+
Figure 6: Client Credentials Flow
Run Code Online (Sandbox Code Playgroud)
和
+----------+
| Resource |
| Owner |
| |
+----------+
v
| Resource Owner
(A) Password Credentials
|
v
+---------+ +---------------+
| |>--(B)---- Resource Owner ------->| |
| | Password Credentials | Authorization |
| Client | | Server | …Run Code Online (Sandbox Code Playgroud) 来自Android的性能提示:
对象创建永远不会自由....当您在应用程序中分配更多对象时,您将强制定期进行垃圾收集,从而在用户体验中产生很少的"打嗝".
我的应用程序会定期收集GPS数据以及一些元数据.对于每个位置请求,它应该将结果添加到数据对象:
"data": {
"timestamp": {
"lat": "value",
"lng": "value"
"meta": "value"
}
"timestamp": {
"lat": "value",
"lng": "value"
"meta": "value"
}
...
}
Run Code Online (Sandbox Code Playgroud)
然后在对象达到一定大小后,或者当设备具有更好的连接性时,应用程序会将完整数据对象流式传输到我的服务器,清除它并重新使用空对象.
虽然重新使用外部data对象会产生更好的性能,并且肯定不是很难完成,但似乎不可能重新使用内部timestamp对象.我可以重新使用在下一轮GPS数据收集中有用的内部对象,并让任何剩余的内部对象被垃圾收集吗?