Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.007USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.001SP
├── Own SP
0.124SP
└── Incoming Deleg
+4.877SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.124SP
Delegated Out
0.000SP
Delegation In
4.877SP
Effective Power
5.001SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "202.081035 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7941.578771 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namesamon
id1144920
rank233,782
reputation4927187
created2018-09-25T01:23:45
recovery_accountsteem
proxyNone
post_count5
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-11-15T14:00:00
last_root_post2018-11-15T14:00:00
last_vote_time1970-01-01T00:00:00
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares202.081035 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7941.578771 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update1970-01-01T00:00:00
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 1144920,
  "name": "samon",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6yhYMZY2dfBW9A53xofyXxBoat64cAMLF74FxTnYDRwXosyHgX",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6LJrAGBsoyqhTCgCiJnVMUd7yZ6o1aUNb7VESYzgMZ425Mknrp",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7kD6xWoQpKPqtJeBdiGfQXPQke5UvLxYWC9BqHRDhDhSSvWuSd",
        1
      ]
    ]
  },
  "memo_key": "STM6taSYrcuAkmriPQQQXLp97P4adciHY29LcudRE9tqorZr8Spbt",
  "json_metadata": "{}",
  "posting_json_metadata": "",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "1970-01-01T00:00:00",
  "created": "2018-09-25T01:23:45",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 5,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779084393
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779084393
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.000 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "202.081035 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7941.578771 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-11-15T14:00:00",
  "last_root_post": "2018-11-15T14:00:00",
  "last_vote_time": "1970-01-01T00:00:00",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 4927187,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 233782
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.877 SP to @samon
2026/05/18 06:06:33
delegatorsteem
delegateesamon
vesting shares7941.578771 VESTS
Transaction InfoBlock #106150445/Trx 4ca39ac696e368181031e9653c5c1be380c95a78
View Raw JSON Data
{
  "trx_id": "4ca39ac696e368181031e9653c5c1be380c95a78",
  "block": 106150445,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-18T06:06:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "7941.578771 VESTS"
    }
  ]
}
steemdelegated 3.211 SP to @samon
2026/05/13 03:39:51
delegatorsteem
delegateesamon
vesting shares5229.368366 VESTS
Transaction InfoBlock #106004232/Trx 2990e1850e85c358c582ce1286e308802b23907a
View Raw JSON Data
{
  "trx_id": "2990e1850e85c358c582ce1286e308802b23907a",
  "block": 106004232,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-13T03:39:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "5229.368366 VESTS"
    }
  ]
}
steemdelegated 4.885 SP to @samon
2026/04/26 05:18:30
delegatorsteem
delegateesamon
vesting shares7954.094527 VESTS
Transaction InfoBlock #105517932/Trx f7719a57b000e901187545429a4ece60ddf089c5
View Raw JSON Data
{
  "trx_id": "f7719a57b000e901187545429a4ece60ddf089c5",
  "block": 105517932,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-26T05:18:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "7954.094527 VESTS"
    }
  ]
}
steemdelegated 3.237 SP to @samon
2026/01/23 23:34:09
delegatorsteem
delegateesamon
vesting shares5270.915185 VESTS
Transaction InfoBlock #102870701/Trx d65bf799b0892171ad1f94649ae1cb80117e20a9
View Raw JSON Data
{
  "trx_id": "d65bf799b0892171ad1f94649ae1cb80117e20a9",
  "block": 102870701,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-23T23:34:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "5270.915185 VESTS"
    }
  ]
}
steemdelegated 3.338 SP to @samon
2024/12/17 18:44:15
delegatorsteem
delegateesamon
vesting shares5435.134382 VESTS
Transaction InfoBlock #91316914/Trx ab0a2ad7855c2ed19e07862c73a9ce104be61397
View Raw JSON Data
{
  "trx_id": "ab0a2ad7855c2ed19e07862c73a9ce104be61397",
  "block": 91316914,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-17T18:44:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "5435.134382 VESTS"
    }
  ]
}
steemdelegated 3.442 SP to @samon
2023/11/14 10:25:45
delegatorsteem
delegateesamon
vesting shares5604.267914 VESTS
Transaction InfoBlock #79871073/Trx 8f2c375450ae7f2cca18bda11df4e5478e15ab31
View Raw JSON Data
{
  "trx_id": "8f2c375450ae7f2cca18bda11df4e5478e15ab31",
  "block": 79871073,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-14T10:25:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "5604.267914 VESTS"
    }
  ]
}
steemdelegated 5.245 SP to @samon
2023/09/22 10:11:18
delegatorsteem
delegateesamon
vesting shares8541.176700 VESTS
Transaction InfoBlock #78362622/Trx d2bce4d58638db52b9b2edca55d3d56d618689d8
View Raw JSON Data
{
  "trx_id": "d2bce4d58638db52b9b2edca55d3d56d618689d8",
  "block": 78362622,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-22T10:11:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "8541.176700 VESTS"
    }
  ]
}
steemdelegated 5.382 SP to @samon
2022/11/03 17:40:09
delegatorsteem
delegateesamon
vesting shares8763.228138 VESTS
Transaction InfoBlock #69120387/Trx ed256945f632eb1028788c680d9544f92cc29ceb
View Raw JSON Data
{
  "trx_id": "ed256945f632eb1028788c680d9544f92cc29ceb",
  "block": 69120387,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T17:40:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "8763.228138 VESTS"
    }
  ]
}
steemdelegated 5.517 SP to @samon
2022/01/17 22:52:57
delegatorsteem
delegateesamon
vesting shares8983.335739 VESTS
Transaction InfoBlock #60823652/Trx 3c6ba893b734832c857b1919af40b685f7f414b1
View Raw JSON Data
{
  "trx_id": "3c6ba893b734832c857b1919af40b685f7f414b1",
  "block": 60823652,
  "trx_in_block": 53,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T22:52:57",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "8983.335739 VESTS"
    }
  ]
}
steemdelegated 5.630 SP to @samon
2021/06/14 06:04:24
delegatorsteem
delegateesamon
vesting shares9167.530027 VESTS
Transaction InfoBlock #54613991/Trx cf3978ff0f0c443d02f7b6d6ad04de98f833b227
View Raw JSON Data
{
  "trx_id": "cf3978ff0f0c443d02f7b6d6ad04de98f833b227",
  "block": 54613991,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-14T06:04:24",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "9167.530027 VESTS"
    }
  ]
}
steemdelegated 5.745 SP to @samon
2020/12/11 16:16:51
delegatorsteem
delegateesamon
vesting shares9354.952001 VESTS
Transaction InfoBlock #49361257/Trx 44df4519d96fd09651d3b3066baa9d13f246cd5c
View Raw JSON Data
{
  "trx_id": "44df4519d96fd09651d3b3066baa9d13f246cd5c",
  "block": 49361257,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T16:16:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "9354.952001 VESTS"
    }
  ]
}
steemdelegated 1.175 SP to @samon
2020/12/06 09:52:39
delegatorsteem
delegateesamon
vesting shares1912.543513 VESTS
Transaction InfoBlock #49212785/Trx a35d74f496cbc7961fce438789e60005afbc55c0
View Raw JSON Data
{
  "trx_id": "a35d74f496cbc7961fce438789e60005afbc55c0",
  "block": 49212785,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T09:52:39",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.749 SP to @samon
2020/12/05 19:54:36
delegatorsteem
delegateesamon
vesting shares9361.159855 VESTS
Transaction InfoBlock #49196340/Trx 6cdc53c21fbb013917aaa1cf70a315c97dbf2256
View Raw JSON Data
{
  "trx_id": "6cdc53c21fbb013917aaa1cf70a315c97dbf2256",
  "block": 49196340,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T19:54:36",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "9361.159855 VESTS"
    }
  ]
}
steemdelegated 1.179 SP to @samon
2020/11/03 02:21:18
delegatorsteem
delegateesamon
vesting shares1920.017158 VESTS
Transaction InfoBlock #48270420/Trx 36f874e55a75c090881d10ee9522cc994105803e
View Raw JSON Data
{
  "trx_id": "36f874e55a75c090881d10ee9522cc994105803e",
  "block": 48270420,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-03T02:21:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.873 SP to @samon
2020/05/09 10:55:33
delegatorsteem
delegateesamon
vesting shares9563.965214 VESTS
Transaction InfoBlock #43223109/Trx 3b09b9222d9f7bb6cb88e29d125f9473459ff11e
View Raw JSON Data
{
  "trx_id": "3b09b9222d9f7bb6cb88e29d125f9473459ff11e",
  "block": 43223109,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T10:55:33",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "9563.965214 VESTS"
    }
  ]
}
steemdelegated 1.200 SP to @samon
2020/05/08 15:18:18
delegatorsteem
delegateesamon
vesting shares1953.311140 VESTS
Transaction InfoBlock #43200123/Trx 76d9ec3e978b8c5205bc14d157fd22be58c5f82d
View Raw JSON Data
{
  "trx_id": "76d9ec3e978b8c5205bc14d157fd22be58c5f82d",
  "block": 43200123,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T15:18:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
steemdelegated 5.911 SP to @samon
2020/01/15 09:46:27
delegatorsteem
delegateesamon
vesting shares9626.123612 VESTS
Transaction InfoBlock #39946468/Trx b2fc84f34eaa5eb7e6ada3c7fc1f7374f9646e94
View Raw JSON Data
{
  "trx_id": "b2fc84f34eaa5eb7e6ada3c7fc1f7374f9646e94",
  "block": 39946468,
  "trx_in_block": 37,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-01-15T09:46:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "9626.123612 VESTS"
    }
  ]
}
2019/09/25 02:29:39
parent authorsamon
parent permlinklyxdp
authorsteemitboard
permlinksteemitboard-notify-samon-20190925t022939000z
title
bodyCongratulations @samon! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@samon/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@samon) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=samon)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemfest/@steemitboard/steemitboard-supports-the-steemfest-travel-reimbursement-fund"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmXDHs9xfx8ZZ3DESFUqHRUQAcQT5kUWobArsRoJg2Yz1F/image.png"></a></td><td><a href="https://steemit.com/steemfest/@steemitboard/steemitboard-supports-the-steemfest-travel-reimbursement-fund">SteemitBoard supports the SteemFest⁴ Travel Reimbursement Fund.</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #36718354/Trx c43551eb571aa4721db81ee6a1932a859a081cbc
View Raw JSON Data
{
  "trx_id": "c43551eb571aa4721db81ee6a1932a859a081cbc",
  "block": 36718354,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-09-25T02:29:39",
  "op": [
    "comment",
    {
      "parent_author": "samon",
      "parent_permlink": "lyxdp",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-samon-20190925t022939000z",
      "title": "",
      "body": "Congratulations @samon! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@samon/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@samon) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=samon)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemfest/@steemitboard/steemitboard-supports-the-steemfest-travel-reimbursement-fund\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmXDHs9xfx8ZZ3DESFUqHRUQAcQT5kUWobArsRoJg2Yz1F/image.png\"></a></td><td><a href=\"https://steemit.com/steemfest/@steemitboard/steemitboard-supports-the-steemfest-travel-reimbursement-fund\">SteemitBoard supports the SteemFest⁴ Travel Reimbursement Fund.</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 6.032 SP to @samon
2019/02/14 15:42:18
delegatorsteem
delegateesamon
vesting shares9822.689474 VESTS
Transaction InfoBlock #30344012/Trx 7cff268879236c16b7c1dd79c40ad7f1fc76b5a1
View Raw JSON Data
{
  "trx_id": "7cff268879236c16b7c1dd79c40ad7f1fc76b5a1",
  "block": 30344012,
  "trx_in_block": 16,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-02-14T15:42:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "9822.689474 VESTS"
    }
  ]
}
steemdelegated 18.367 SP to @samon
2019/01/24 10:08:06
delegatorsteem
delegateesamon
vesting shares29909.125561 VESTS
Transaction InfoBlock #29733068/Trx 237b44071be328488032699f4aef92ab41288390
View Raw JSON Data
{
  "trx_id": "237b44071be328488032699f4aef92ab41288390",
  "block": 29733068,
  "trx_in_block": 4,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-01-24T10:08:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "29909.125561 VESTS"
    }
  ]
}
2018/11/23 05:58:27
required auths[]
required posting auths["samon"]
idfollow
json["follow",{"follower":"samon","following":"bibkchhetri","what":["blog"]}]
Transaction InfoBlock #27943778/Trx 6ddd7a2563b021628fabc04f392573366e744d7c
View Raw JSON Data
{
  "trx_id": "6ddd7a2563b021628fabc04f392573366e744d7c",
  "block": 27943778,
  "trx_in_block": 32,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-23T05:58:27",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "samon"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"samon\",\"following\":\"bibkchhetri\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/11/16 02:00:03
required auths[]
required posting auths["samon"]
idfollow
json["follow",{"follower":"samon","following":"oflyhigh","what":["blog"]}]
Transaction InfoBlock #27737493/Trx f9fb766bd2dd4b56753d9d53063ff593005499d0
View Raw JSON Data
{
  "trx_id": "f9fb766bd2dd4b56753d9d53063ff593005499d0",
  "block": 27737493,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-16T02:00:03",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "samon"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"samon\",\"following\":\"oflyhigh\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/11/16 01:56:18
required auths[]
required posting auths["samon"]
idfollow
json["follow",{"follower":"samon","following":"adonisabril","what":["blog"]}]
Transaction InfoBlock #27737418/Trx 6cdbbb1efbfec68134c042f65a5387dbb89e8206
View Raw JSON Data
{
  "trx_id": "6cdbbb1efbfec68134c042f65a5387dbb89e8206",
  "block": 27737418,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-16T01:56:18",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "samon"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"samon\",\"following\":\"adonisabril\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/11/16 01:53:09
required auths[]
required posting auths["samon"]
idfollow
json["follow",{"follower":"samon","following":"chbartist","what":["blog"]}]
Transaction InfoBlock #27737355/Trx 1111e49d8303e943071117c0045df5eb5aee244e
View Raw JSON Data
{
  "trx_id": "1111e49d8303e943071117c0045df5eb5aee244e",
  "block": 27737355,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-16T01:53:09",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "samon"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"samon\",\"following\":\"chbartist\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/11/16 01:49:27
required auths[]
required posting auths["samon"]
idfollow
json["follow",{"follower":"samon","following":"altcointrading","what":["blog"]}]
Transaction InfoBlock #27737281/Trx ec95229dc4e1a0343f4a04f36ed6a81a0d16bada
View Raw JSON Data
{
  "trx_id": "ec95229dc4e1a0343f4a04f36ed6a81a0d16bada",
  "block": 27737281,
  "trx_in_block": 28,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-16T01:49:27",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "samon"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"samon\",\"following\":\"altcointrading\",\"what\":[\"blog\"]}]"
    }
  ]
}
samonpublished a new post: lyxdp
2018/11/15 14:00:00
parent author
parent permlinkblog
authorsamon
permlinklyxdp
title记一次诡异的安卓光标变黑问题
body&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这两天开发遇到了一个比较诡异的问题,话不多数直接上图,看到那条多余的黑线了吧,只会在这一行出现。 https://cdn.steemitimages.com/DQmNLhEJC4Pkz9khoudHA8CWY9rwBn2kPDLgcTmQCd5Pvdf/20181115211636.png) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当输入框EditText正好被输入法键盘弹出时覆盖一小部分底部时,会出现一条诡异的黑线,注意这可不是输入法的光标,开始以为是输入法的光标各种调试,各种不通,诡异的是只有这行会出现黑线,输入法键盘隐藏黑线消失,更诡异的是这么多测试机中只在Mate 9中出现,点开设置看下Mate 9的配置也算是中高端机了不至于。仔细检查出问题部分的代码,都是常规的设置没什么特别: <code> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" android:orientation="horizontal"> <TextView android:layout_width="match_parent" android:layout_height="45dp" android:layout_marginLeft="20dp" android:layout_weight="2" android:gravity="center_vertical" android:text="手机号码 " android:textColor="@color/black_text" android:textSize="13sp" /> <EditText android:id="@+id/xxxxxxxxxxx" android:layout_width="match_parent" android:layout_height="45dp" android:layout_weight="1" android:background="@color/white" android:hint="请输入手机号码 " android:textColor="@color/black_text" android:textSize="13sp" /> </LinearLayout> </code> &nbsp;&nbsp;&nbsp;&nbsp;中间折腾了输入法的光标半天,不见效果,实在想不通问题出在什么地方。后来无意中发现黑色的线明显比输入法光标要高,确定黑线不是光标。然后各种上网查,想到了TextView渲染问题,网上确实有人遇到类似问题:TextView更改宽度之后后面出现黑色条,重点是更改宽度。重新分析布局横向的LinearLayout里面就一个TextView和EditText,各自按照2:1布局,主要是EditText当触发焦点被选中时,猜测周围的选中效果一般为一圈黄色,会造成EditText在宽度和高度上的变化,虽然变化很小,这样间接会造成权重重新分配TextView宽度发生变化,最终引起TextView重绘,造成了渲染问题出现黑线。 &nbsp;&nbsp;&nbsp;&nbsp;解决方法有两个,一个是固定TextView的高和宽,这个方法在目前这种布局明显不适合,第二种尝试给TextView设置背景色android:background="@color/white",试了下诡异的黑线终于消失了,具体原因还有待深入源码研究。 <code> <TextView android:layout_width="match_parent" android:layout_height="45dp" android:layout_marginLeft="20dp" android:layout_weight="2" android:gravity="center_vertical" android:background="@color/white" 设置背景色白色 android:text="手机号码 " android:textColor="@color/black_text" android:textSize="13sp" /> </code>
json metadata{"tags":["blog","android","code"],"users":["color"],"image":["https://cdn.steemitimages.com/DQmNLhEJC4Pkz9khoudHA8CWY9rwBn2kPDLgcTmQCd5Pvdf/20181115211636.png"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #27723112/Trx b0c50fe4907b44703b7792c368a8739f6bcf7935
View Raw JSON Data
{
  "trx_id": "b0c50fe4907b44703b7792c368a8739f6bcf7935",
  "block": 27723112,
  "trx_in_block": 41,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-11-15T14:00:00",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "blog",
      "author": "samon",
      "permlink": "lyxdp",
      "title": "记一次诡异的安卓光标变黑问题",
      "body": "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这两天开发遇到了一个比较诡异的问题,话不多数直接上图,看到那条多余的黑线了吧,只会在这一行出现。\n\nhttps://cdn.steemitimages.com/DQmNLhEJC4Pkz9khoudHA8CWY9rwBn2kPDLgcTmQCd5Pvdf/20181115211636.png)\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当输入框EditText正好被输入法键盘弹出时覆盖一小部分底部时,会出现一条诡异的黑线,注意这可不是输入法的光标,开始以为是输入法的光标各种调试,各种不通,诡异的是只有这行会出现黑线,输入法键盘隐藏黑线消失,更诡异的是这么多测试机中只在Mate 9中出现,点开设置看下Mate 9的配置也算是中高端机了不至于。仔细检查出问题部分的代码,都是常规的设置没什么特别:\n\n<code>\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"@color/white\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"45dp\"\n                    android:layout_marginLeft=\"20dp\"\n                    android:layout_weight=\"2\"\n                    android:gravity=\"center_vertical\"\n                    android:text=\"手机号码  \"\n                    android:textColor=\"@color/black_text\"\n                    android:textSize=\"13sp\" />\n\n                <EditText\n                    android:id=\"@+id/xxxxxxxxxxx\"\n                    android:layout_width=\"match_parent\"\n                    android:layout_height=\"45dp\"\n                    android:layout_weight=\"1\"\n                    android:background=\"@color/white\"\n                    android:hint=\"请输入手机号码  \"\n                    android:textColor=\"@color/black_text\"\n                    android:textSize=\"13sp\" />\n            </LinearLayout>\n</code>\n\n&nbsp;&nbsp;&nbsp;&nbsp;中间折腾了输入法的光标半天,不见效果,实在想不通问题出在什么地方。后来无意中发现黑色的线明显比输入法光标要高,确定黑线不是光标。然后各种上网查,想到了TextView渲染问题,网上确实有人遇到类似问题:TextView更改宽度之后后面出现黑色条,重点是更改宽度。重新分析布局横向的LinearLayout里面就一个TextView和EditText,各自按照2:1布局,主要是EditText当触发焦点被选中时,猜测周围的选中效果一般为一圈黄色,会造成EditText在宽度和高度上的变化,虽然变化很小,这样间接会造成权重重新分配TextView宽度发生变化,最终引起TextView重绘,造成了渲染问题出现黑线。\n&nbsp;&nbsp;&nbsp;&nbsp;解决方法有两个,一个是固定TextView的高和宽,这个方法在目前这种布局明显不适合,第二种尝试给TextView设置背景色android:background=\"@color/white\",试了下诡异的黑线终于消失了,具体原因还有待深入源码研究。\n\n<code>\n\n                <TextView\n                        android:layout_width=\"match_parent\"\n                        android:layout_height=\"45dp\"\n                        android:layout_marginLeft=\"20dp\"\n                        android:layout_weight=\"2\"\n                        android:gravity=\"center_vertical\"\n                        android:background=\"@color/white\"  设置背景色白色\n                        android:text=\"手机号码  \"\n                        android:textColor=\"@color/black_text\"\n                        android:textSize=\"13sp\" />\n\n</code>",
      "json_metadata": "{\"tags\":[\"blog\",\"android\",\"code\"],\"users\":[\"color\"],\"image\":[\"https://cdn.steemitimages.com/DQmNLhEJC4Pkz9khoudHA8CWY9rwBn2kPDLgcTmQCd5Pvdf/20181115211636.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
samonpublished a new post: ubantu18-04-android-8-1-0r48
2018/10/28 09:22:48
parent author
parent permlinkblog
authorsamon
permlinkubantu18-04-android-8-1-0r48
titleUbantu18.04环境下下载android-8.1.0_r48源码
body作为一名程序员怎么可以不 reading the source code ,工欲善其事必先利其器,想要阅读先下载下来再说,下面就介绍下如何在Ubantu18.04环境下下载android-8.1.0_r48源码。 <h4>一、 git的安装和配置</h4> Ubantu18.04下进入终端输入以下命令 安装git命令 <code>sudo apt-get install git</code> ![20181028112724.png](https://cdn.steemitimages.com/DQmXC2QHKqfsEfq5VzgQ8BrY7zvauWoqbTK97yeF5n51Cvf/20181028112724.png) 配置git的用户名user.name <code>git config --global user.name "first name"</code> 配置git的邮箱地址user.email <code>git config --global user.email "[email protected]"</code> ![20181028113322.png](https://cdn.steemitimages.com/DQmQ5BFj14Wrzx4ASeGrp7JPcJHrpasDLEQ6J8kiZJbzDAc/20181028113322.png) <h4>二、 repo的安装和配置</h4> 国内的话强烈建议使用镜像https://aosp.tuna.tsinghua.edu.cn/来安装,repo安装命令: <code>git clone https://aosp.tuna.tsinghua.edu.cn/git-repo/</code> <code>chmod a+x git-repo/repo</code> 安装完毕需要将repo添加到PATH环境变量,repo配置命令: <code>export PATH=~/git-repo:$PATH</code> <h4>三、 特别设置,由于有墙防止出现unable to access'':Failed to connect to...问题 </h4> <h5>1. .bashrc文件设置</h5> 在Ubantu<主文件夹>下设置显示隐藏文件找到并打开 .bashrc 文件,添加如下内容 <code>export REPO_URL=’https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/’</code> 然后执行如下命令 <code>echo " export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' ">> ~/.bashrc</code> ![20181028150644.png](https://cdn.steemitimages.com/DQmV8fe99R41AvhAsAjJdcnn6CCz7nJrxnSzdopKYi24ED3/20181028150644.png) <h5>2. repo文件设置</h5> 在 主文件夹->bin->repo 中找到并打开repo文件,搜索REPO_URL将地址修改为镜像地址 <code>REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'</code> ![20181028133351.png](https://cdn.steemitimages.com/DQmdaRRWcawGWNXpS43Rk2ec5wL9QqCh4u1EhNkwZas8UDB/20181028133351.png) <h4>四、查看可下载的android源码分支</h4> 开始前最好在主文件下新建用于保存android源码的文件夹,比如我的是<主文件夹>/Android/source,在终端中cd进入到此文件夹下执行命令 <code>repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest</code> ![20181028152709.png](https://cdn.steemitimages.com/DQmXu9VH833fhuS7kV9ASugDUiTsu7466PK64m8Cqx28y3y/20181028152709.png) 稍等片刻,打开文件进入该目录下看到创建了.repo文件夹,进入看到还创建了manifests、manifests.git等文件 ![20181028152812.png](https://cdn.steemitimages.com/DQmehqt5ENJw8Q9o9D3U2Z9r7pqHmJfj4G7FhzsFQTA1qhg/20181028152812.png) 相关文件拉取到本地后就可以在终端下进入manifests.git文件夹下,执行命令 <code>cd .repo/manifests.git/</code> <code>git branch -a</code> ![20181028152957.png](https://cdn.steemitimages.com/DQmcK1zajWjZvr6ZhYnpGVsFmE4tXrPep9bFv4TCbSgboiR/20181028152957.png) 稍等片刻,终端可以查看可拉取的源码分支 ![20181028153332.png](https://cdn.steemitimages.com/DQmUSVbJ5RyJ6eAfLQMEnSQs65Xecqojfsa28jgfQvFHQkj/20181028153332.png) <h4>五、下载android源码到本地</h4> 这里我们选择android8.1.0的最高版本android-8.1.0_r48,终端下执行命令 <code>repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r48</code> <code>repo sync</code> ![20181028153902.png](https://cdn.steemitimages.com/DQmNiNbAo6c8kZHYkU6DUUKEXCw2qiKwf3vn1DaiNihwFWY/20181028153902.png) 下面就是考验网速的时刻了,可能需要花费小半天时间,可以去 <code>have a coffee and take a rest.</code>
json metadata{"tags":["blog","android","source","code","ubantu"],"image":["https://cdn.steemitimages.com/DQmXC2QHKqfsEfq5VzgQ8BrY7zvauWoqbTK97yeF5n51Cvf/20181028112724.png","https://cdn.steemitimages.com/DQmQ5BFj14Wrzx4ASeGrp7JPcJHrpasDLEQ6J8kiZJbzDAc/20181028113322.png","https://cdn.steemitimages.com/DQmV8fe99R41AvhAsAjJdcnn6CCz7nJrxnSzdopKYi24ED3/20181028150644.png","https://cdn.steemitimages.com/DQmdaRRWcawGWNXpS43Rk2ec5wL9QqCh4u1EhNkwZas8UDB/20181028133351.png","https://cdn.steemitimages.com/DQmXu9VH833fhuS7kV9ASugDUiTsu7466PK64m8Cqx28y3y/20181028152709.png","https://cdn.steemitimages.com/DQmehqt5ENJw8Q9o9D3U2Z9r7pqHmJfj4G7FhzsFQTA1qhg/20181028152812.png","https://cdn.steemitimages.com/DQmcK1zajWjZvr6ZhYnpGVsFmE4tXrPep9bFv4TCbSgboiR/20181028152957.png","https://cdn.steemitimages.com/DQmUSVbJ5RyJ6eAfLQMEnSQs65Xecqojfsa28jgfQvFHQkj/20181028153332.png","https://cdn.steemitimages.com/DQmNiNbAo6c8kZHYkU6DUUKEXCw2qiKwf3vn1DaiNihwFWY/20181028153902.png"],"links":["https://aosp.tuna.tsinghua.edu.cn/来安装,repo安装命令:"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #27199560/Trx f13fd016fe33d028d474c788914d8c60d8804ca1
View Raw JSON Data
{
  "trx_id": "f13fd016fe33d028d474c788914d8c60d8804ca1",
  "block": 27199560,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-10-28T09:22:48",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "blog",
      "author": "samon",
      "permlink": "ubantu18-04-android-8-1-0r48",
      "title": "Ubantu18.04环境下下载android-8.1.0_r48源码",
      "body": "作为一名程序员怎么可以不 reading the source code ,工欲善其事必先利其器,想要阅读先下载下来再说,下面就介绍下如何在Ubantu18.04环境下下载android-8.1.0_r48源码。\n<h4>一、 git的安装和配置</h4>\n          Ubantu18.04下进入终端输入以下命令\n安装git命令\n<code>sudo apt-get install git</code>\n![20181028112724.png](https://cdn.steemitimages.com/DQmXC2QHKqfsEfq5VzgQ8BrY7zvauWoqbTK97yeF5n51Cvf/20181028112724.png)\n配置git的用户名user.name\n<code>git config --global user.name \"first name\"</code>\n配置git的邮箱地址user.email\n<code>git config --global user.email \"[email protected]\"</code>\n![20181028113322.png](https://cdn.steemitimages.com/DQmQ5BFj14Wrzx4ASeGrp7JPcJHrpasDLEQ6J8kiZJbzDAc/20181028113322.png)\n<h4>二、 repo的安装和配置</h4>\n国内的话强烈建议使用镜像https://aosp.tuna.tsinghua.edu.cn/来安装,repo安装命令:\n<code>git clone https://aosp.tuna.tsinghua.edu.cn/git-repo/</code>\n<code>chmod a+x git-repo/repo</code>\n安装完毕需要将repo添加到PATH环境变量,repo配置命令:\n<code>export PATH=~/git-repo:$PATH</code>\n<h4>三、 特别设置,由于有墙防止出现unable to access'':Failed to connect to...问题 </h4>\n<h5>1. .bashrc文件设置</h5>\n在Ubantu<主文件夹>下设置显示隐藏文件找到并打开 .bashrc 文件,添加如下内容\n<code>export REPO_URL=’https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/’</code>\n然后执行如下命令\n<code>echo \" export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/' \">> ~/.bashrc</code>\n![20181028150644.png](https://cdn.steemitimages.com/DQmV8fe99R41AvhAsAjJdcnn6CCz7nJrxnSzdopKYi24ED3/20181028150644.png)\n<h5>2. repo文件设置</h5>\n在 主文件夹->bin->repo 中找到并打开repo文件,搜索REPO_URL将地址修改为镜像地址\n<code>REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'</code>\n![20181028133351.png](https://cdn.steemitimages.com/DQmdaRRWcawGWNXpS43Rk2ec5wL9QqCh4u1EhNkwZas8UDB/20181028133351.png)\n<h4>四、查看可下载的android源码分支</h4>\n开始前最好在主文件下新建用于保存android源码的文件夹,比如我的是<主文件夹>/Android/source,在终端中cd进入到此文件夹下执行命令\n<code>repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest</code>\n![20181028152709.png](https://cdn.steemitimages.com/DQmXu9VH833fhuS7kV9ASugDUiTsu7466PK64m8Cqx28y3y/20181028152709.png)\n稍等片刻,打开文件进入该目录下看到创建了.repo文件夹,进入看到还创建了manifests、manifests.git等文件\n![20181028152812.png](https://cdn.steemitimages.com/DQmehqt5ENJw8Q9o9D3U2Z9r7pqHmJfj4G7FhzsFQTA1qhg/20181028152812.png)\n相关文件拉取到本地后就可以在终端下进入manifests.git文件夹下,执行命令\n<code>cd .repo/manifests.git/</code>\n<code>git branch -a</code>\n\n![20181028152957.png](https://cdn.steemitimages.com/DQmcK1zajWjZvr6ZhYnpGVsFmE4tXrPep9bFv4TCbSgboiR/20181028152957.png)\n稍等片刻,终端可以查看可拉取的源码分支\n![20181028153332.png](https://cdn.steemitimages.com/DQmUSVbJ5RyJ6eAfLQMEnSQs65Xecqojfsa28jgfQvFHQkj/20181028153332.png)\n<h4>五、下载android源码到本地</h4>\n这里我们选择android8.1.0的最高版本android-8.1.0_r48,终端下执行命令\n<code>repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-8.1.0_r48</code>\n<code>repo sync</code>\n![20181028153902.png](https://cdn.steemitimages.com/DQmNiNbAo6c8kZHYkU6DUUKEXCw2qiKwf3vn1DaiNihwFWY/20181028153902.png)\n下面就是考验网速的时刻了,可能需要花费小半天时间,可以去\n<code>have a coffee and take a rest.</code>",
      "json_metadata": "{\"tags\":[\"blog\",\"android\",\"source\",\"code\",\"ubantu\"],\"image\":[\"https://cdn.steemitimages.com/DQmXC2QHKqfsEfq5VzgQ8BrY7zvauWoqbTK97yeF5n51Cvf/20181028112724.png\",\"https://cdn.steemitimages.com/DQmQ5BFj14Wrzx4ASeGrp7JPcJHrpasDLEQ6J8kiZJbzDAc/20181028113322.png\",\"https://cdn.steemitimages.com/DQmV8fe99R41AvhAsAjJdcnn6CCz7nJrxnSzdopKYi24ED3/20181028150644.png\",\"https://cdn.steemitimages.com/DQmdaRRWcawGWNXpS43Rk2ec5wL9QqCh4u1EhNkwZas8UDB/20181028133351.png\",\"https://cdn.steemitimages.com/DQmXu9VH833fhuS7kV9ASugDUiTsu7466PK64m8Cqx28y3y/20181028152709.png\",\"https://cdn.steemitimages.com/DQmehqt5ENJw8Q9o9D3U2Z9r7pqHmJfj4G7FhzsFQTA1qhg/20181028152812.png\",\"https://cdn.steemitimages.com/DQmcK1zajWjZvr6ZhYnpGVsFmE4tXrPep9bFv4TCbSgboiR/20181028152957.png\",\"https://cdn.steemitimages.com/DQmUSVbJ5RyJ6eAfLQMEnSQs65Xecqojfsa28jgfQvFHQkj/20181028153332.png\",\"https://cdn.steemitimages.com/DQmNiNbAo6c8kZHYkU6DUUKEXCw2qiKwf3vn1DaiNihwFWY/20181028153902.png\"],\"links\":[\"https://aosp.tuna.tsinghua.edu.cn/来安装,repo安装命令:\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/10/26 14:03:18
votersanta1986
authorsamon
permlinkwin10-hyper-v-ubantu18-04
weight10000 (100.00%)
Transaction InfoBlock #27147601/Trx e43280be2c5dfd044f0535555f0d76314e4c8815
View Raw JSON Data
{
  "trx_id": "e43280be2c5dfd044f0535555f0d76314e4c8815",
  "block": 27147601,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-10-26T14:03:18",
  "op": [
    "vote",
    {
      "voter": "santa1986",
      "author": "samon",
      "permlink": "win10-hyper-v-ubantu18-04",
      "weight": 10000
    }
  ]
}
samonpublished a new post: win10-hyper-v-ubantu18-04
2018/10/26 14:00:36
parent author
parent permlinkblog
authorsamon
permlinkwin10-hyper-v-ubantu18-04
title在win10下使用Hyper-V安装Ubantu18.04虚拟机
body<h5> Ubantu下载</h5> 进入Ubantu官网https://www.ubuntu.com/global 下载目前最新版本的Ubantu还是选择长期支持版比较好,这里是Ubuntu 18.04.1 LTS![1.png](https://cdn.steemitimages.com/DQmP3Tin6PypaLBCxzjYMYXoXZeauvoEYdB1qnXRLwmF5Gn/1.png) <h5>配置Hyper-v</h5> 打开Hyper-v配置,全部勾选点确定完成安装 ![2.png](https://cdn.steemitimages.com/DQmWSqt9NyV7BWZbbDNRN8YXafrX5tZxk2NTAiF4zY8nQ2T/2.png) <h5>创建虚拟机</h5> 打开Hyper-V 管理器,创建虚拟机 ![4.png](https://cdn.steemitimages.com/DQmSdyymsL7FSHnX7zyaXsJfgWNg4Q72FSGKUucitXd1Yof/4.png) 按照提示下一步,选择Ubantu安装的位置输入名字如Ubantu18.04,进入下一步 ![QQ截图20181026203212.png](https://cdn.steemitimages.com/DQmeFKiY2y7msDvVUqouwJM3SJAjnBWCUuS5AXEXZ6rTrXn/QQ%E6%88%AA%E5%9B%BE20181026203212.png) 选择默认的第一代虚拟机 ![20181026203221.png](https://cdn.steemitimages.com/DQmaKHZL3YXanwcRyJxhCp6xnCo8D2w2xEXcN84So7SCNqH/20181026203221.png) 根据自己主机内存的大小给虚拟机分配内存,比如我的是16G给虚拟机分配3G ![20181026203413.png](https://cdn.steemitimages.com/DQmNNatxugrdkgD4vwHCnQaEHRsuLW6qXTzLNzjt7RyLdCv/20181026203413.png) 选择网络连接,这里可以回到Hyper-V 管理器创建一个虚拟网络适配器![20181026203741.png](https://cdn.steemitimages.com/DQmT59Cm9jGM8fd7EPfHLQg7SbHtM4GnTcPQPD3Uqhwer3u/20181026203741.png) 根据自己不同盘符的大小给虚拟机分配虚拟硬盘大小,比如我的是127G ![20181026204145.png](https://cdn.steemitimages.com/DQmW1MNgN6b7nsBZhWhFwrUAXrmQd7XoXHo4jRFyHCyzbxG/20181026204145.png) 按照提示下一步完成虚拟机创建 <h5>启动虚拟机Ubantu18.04</h5> ![open.png](https://cdn.steemitimages.com/DQmWZ91MKyMs5A8Rqxazmc6Fpy85jtFZkWe6eeUQo6QXaJm/open.png) <h5>Ubantu启动安装设置</h5> Ubantu的安装不需要详细介绍了,至此可以在Ubantu18.04上愉快的开发了。 ![20181026204747.png](https://cdn.steemitimages.com/DQmeejAUnjJgzybrEvb2dBisPq8VPAuJEaBAYoCASQb9Aoo/20181026204747.png) ![20181026205152.png](https://cdn.steemitimages.com/DQmWQ81yQJHXKnY5LMqUomSDdMrQxhmYz1o5gtiiXZ66U5i/20181026205152.png) ![20181026210509.png](https://cdn.steemitimages.com/DQmZRwaESQg3LUhh4pGn4r6stfU4jZ8y3WsJgLC6Rouoi8o/20181026210509.png)
json metadata{"tags":["blog","ubantu","steemit"],"image":["https://cdn.steemitimages.com/DQmP3Tin6PypaLBCxzjYMYXoXZeauvoEYdB1qnXRLwmF5Gn/1.png","https://cdn.steemitimages.com/DQmWSqt9NyV7BWZbbDNRN8YXafrX5tZxk2NTAiF4zY8nQ2T/2.png","https://cdn.steemitimages.com/DQmSdyymsL7FSHnX7zyaXsJfgWNg4Q72FSGKUucitXd1Yof/4.png","https://cdn.steemitimages.com/DQmeFKiY2y7msDvVUqouwJM3SJAjnBWCUuS5AXEXZ6rTrXn/QQ%E6%88%AA%E5%9B%BE20181026203212.png","https://cdn.steemitimages.com/DQmaKHZL3YXanwcRyJxhCp6xnCo8D2w2xEXcN84So7SCNqH/20181026203221.png","https://cdn.steemitimages.com/DQmNNatxugrdkgD4vwHCnQaEHRsuLW6qXTzLNzjt7RyLdCv/20181026203413.png","https://cdn.steemitimages.com/DQmT59Cm9jGM8fd7EPfHLQg7SbHtM4GnTcPQPD3Uqhwer3u/20181026203741.png","https://cdn.steemitimages.com/DQmW1MNgN6b7nsBZhWhFwrUAXrmQd7XoXHo4jRFyHCyzbxG/20181026204145.png","https://cdn.steemitimages.com/DQmWZ91MKyMs5A8Rqxazmc6Fpy85jtFZkWe6eeUQo6QXaJm/open.png","https://cdn.steemitimages.com/DQmeejAUnjJgzybrEvb2dBisPq8VPAuJEaBAYoCASQb9Aoo/20181026204747.png","https://cdn.steemitimages.com/DQmWQ81yQJHXKnY5LMqUomSDdMrQxhmYz1o5gtiiXZ66U5i/20181026205152.png","https://cdn.steemitimages.com/DQmZRwaESQg3LUhh4pGn4r6stfU4jZ8y3WsJgLC6Rouoi8o/20181026210509.png"],"links":["https://www.ubuntu.com/global"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #27147547/Trx db4f12585db8ed4a232cc357f1a55e06bc2cc8d2
View Raw JSON Data
{
  "trx_id": "db4f12585db8ed4a232cc357f1a55e06bc2cc8d2",
  "block": 27147547,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-10-26T14:00:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "blog",
      "author": "samon",
      "permlink": "win10-hyper-v-ubantu18-04",
      "title": "在win10下使用Hyper-V安装Ubantu18.04虚拟机",
      "body": "<h5> Ubantu下载</h5> \n进入Ubantu官网https://www.ubuntu.com/global 下载目前最新版本的Ubantu还是选择长期支持版比较好,这里是Ubuntu 18.04.1 LTS![1.png](https://cdn.steemitimages.com/DQmP3Tin6PypaLBCxzjYMYXoXZeauvoEYdB1qnXRLwmF5Gn/1.png)\n<h5>配置Hyper-v</h5>\n打开Hyper-v配置,全部勾选点确定完成安装\n![2.png](https://cdn.steemitimages.com/DQmWSqt9NyV7BWZbbDNRN8YXafrX5tZxk2NTAiF4zY8nQ2T/2.png)\n<h5>创建虚拟机</h5>\n打开Hyper-V 管理器,创建虚拟机\n![4.png](https://cdn.steemitimages.com/DQmSdyymsL7FSHnX7zyaXsJfgWNg4Q72FSGKUucitXd1Yof/4.png)\n按照提示下一步,选择Ubantu安装的位置输入名字如Ubantu18.04,进入下一步\n![QQ截图20181026203212.png](https://cdn.steemitimages.com/DQmeFKiY2y7msDvVUqouwJM3SJAjnBWCUuS5AXEXZ6rTrXn/QQ%E6%88%AA%E5%9B%BE20181026203212.png)\n选择默认的第一代虚拟机\n![20181026203221.png](https://cdn.steemitimages.com/DQmaKHZL3YXanwcRyJxhCp6xnCo8D2w2xEXcN84So7SCNqH/20181026203221.png)\n根据自己主机内存的大小给虚拟机分配内存,比如我的是16G给虚拟机分配3G\n![20181026203413.png](https://cdn.steemitimages.com/DQmNNatxugrdkgD4vwHCnQaEHRsuLW6qXTzLNzjt7RyLdCv/20181026203413.png)\n选择网络连接,这里可以回到Hyper-V 管理器创建一个虚拟网络适配器![20181026203741.png](https://cdn.steemitimages.com/DQmT59Cm9jGM8fd7EPfHLQg7SbHtM4GnTcPQPD3Uqhwer3u/20181026203741.png)\n根据自己不同盘符的大小给虚拟机分配虚拟硬盘大小,比如我的是127G\n![20181026204145.png](https://cdn.steemitimages.com/DQmW1MNgN6b7nsBZhWhFwrUAXrmQd7XoXHo4jRFyHCyzbxG/20181026204145.png)\n按照提示下一步完成虚拟机创建\n<h5>启动虚拟机Ubantu18.04</h5>\n![open.png](https://cdn.steemitimages.com/DQmWZ91MKyMs5A8Rqxazmc6Fpy85jtFZkWe6eeUQo6QXaJm/open.png)\n<h5>Ubantu启动安装设置</h5>\nUbantu的安装不需要详细介绍了,至此可以在Ubantu18.04上愉快的开发了。\n![20181026204747.png](https://cdn.steemitimages.com/DQmeejAUnjJgzybrEvb2dBisPq8VPAuJEaBAYoCASQb9Aoo/20181026204747.png)\n![20181026205152.png](https://cdn.steemitimages.com/DQmWQ81yQJHXKnY5LMqUomSDdMrQxhmYz1o5gtiiXZ66U5i/20181026205152.png)\n![20181026210509.png](https://cdn.steemitimages.com/DQmZRwaESQg3LUhh4pGn4r6stfU4jZ8y3WsJgLC6Rouoi8o/20181026210509.png)",
      "json_metadata": "{\"tags\":[\"blog\",\"ubantu\",\"steemit\"],\"image\":[\"https://cdn.steemitimages.com/DQmP3Tin6PypaLBCxzjYMYXoXZeauvoEYdB1qnXRLwmF5Gn/1.png\",\"https://cdn.steemitimages.com/DQmWSqt9NyV7BWZbbDNRN8YXafrX5tZxk2NTAiF4zY8nQ2T/2.png\",\"https://cdn.steemitimages.com/DQmSdyymsL7FSHnX7zyaXsJfgWNg4Q72FSGKUucitXd1Yof/4.png\",\"https://cdn.steemitimages.com/DQmeFKiY2y7msDvVUqouwJM3SJAjnBWCUuS5AXEXZ6rTrXn/QQ%E6%88%AA%E5%9B%BE20181026203212.png\",\"https://cdn.steemitimages.com/DQmaKHZL3YXanwcRyJxhCp6xnCo8D2w2xEXcN84So7SCNqH/20181026203221.png\",\"https://cdn.steemitimages.com/DQmNNatxugrdkgD4vwHCnQaEHRsuLW6qXTzLNzjt7RyLdCv/20181026203413.png\",\"https://cdn.steemitimages.com/DQmT59Cm9jGM8fd7EPfHLQg7SbHtM4GnTcPQPD3Uqhwer3u/20181026203741.png\",\"https://cdn.steemitimages.com/DQmW1MNgN6b7nsBZhWhFwrUAXrmQd7XoXHo4jRFyHCyzbxG/20181026204145.png\",\"https://cdn.steemitimages.com/DQmWZ91MKyMs5A8Rqxazmc6Fpy85jtFZkWe6eeUQo6QXaJm/open.png\",\"https://cdn.steemitimages.com/DQmeejAUnjJgzybrEvb2dBisPq8VPAuJEaBAYoCASQb9Aoo/20181026204747.png\",\"https://cdn.steemitimages.com/DQmWQ81yQJHXKnY5LMqUomSDdMrQxhmYz1o5gtiiXZ66U5i/20181026205152.png\",\"https://cdn.steemitimages.com/DQmZRwaESQg3LUhh4pGn4r6stfU4jZ8y3WsJgLC6Rouoi8o/20181026210509.png\"],\"links\":[\"https://www.ubuntu.com/global\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
samonpublished a new post: android-integer-double
2018/10/16 12:12:12
parent author
parent permlinkblog
authorsamon
permlinkandroid-integer-double
titleAndroid开发中遇到的integer比较和double加和的问题
body&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这两天在开发中遇到了两个比较经典的问题,虽然都是基础的东西,但越是基础的我们有时反而没有把它弄清楚,值得记一下: #####1、使用==比较Integer的误区 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对于Integer平时经常用算是十分熟悉了,但是比较两个Integer的大小是不能用==的,Integer是对象类型,特殊情况是当数值在-128到127之间时是可以进行比较的,原因是java为了提升性能和节省内存,好像是JDK在1.5版本中把-128到127之间的数字做了缓存,在这范围内的数值如果使用Integer.valueOf()方法的话自动装箱都是从缓存中获取的,返回的是同一个数字,但是如果是调用new Integer()的话是不会从缓存中取的,还有就是如果超过边界的话同样也是不等的。 ```java @Test public void testInteger() { Integer a127 = 127; Integer b127 = 127; Integer a128 = 128; Integer b128 = 128; System.out.println("a127 == b127 -> " + (a127 == b127)); //结果返回 true System.out.println("a128 == b128 -> " + (a128 == b128)); //结果返回 false } ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;与Integet联系最近的是int,int作为java的原始数据类型之一,其封装类正是Integer,需要补充一点的是当int和Integer比较时,是不会出问题的,因为Integer会自动拆箱为int,相当于int和int作比较。 #####2、两个、多个double类型求和问题 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当使用double类型进行运算时会发生精度丢失的问题,这也是一个基础常见却容易被忽视的问题。先看例子 ```java @Test public void testDouble(){ double a = 1.13; double b = 1.14; System.out.println(a+b); //结果是2.2699999999999996 System.out.println(a+a); //结果是2.26 System.out.println(b+b); //结果是2.28 } ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;原因是因为double数值在求和或做减法的时候,需要将数值转换为二进制的数值,在转换过程中,存储小数部分的位数会有不够的现象,也就是无限循环小数,这就会造成微差。解决方法其实也很简单使用BigDecimal对象: ```java public BigDecimal add(double d1, double d2) { BigDecimal bd1=new BigDecimal(Double.toString(d1)); BigDecimal bd2 = new BigDecimal(Double.toString(d2)); return bd1.add(bd2); } ```
json metadata{"tags":["blog"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #26857593/Trx 7f69e4eca6fc404289101f135d29d4fcd9d6e9ed
View Raw JSON Data
{
  "trx_id": "7f69e4eca6fc404289101f135d29d4fcd9d6e9ed",
  "block": 26857593,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-10-16T12:12:12",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "blog",
      "author": "samon",
      "permlink": "android-integer-double",
      "title": "Android开发中遇到的integer比较和double加和的问题",
      "body": "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这两天在开发中遇到了两个比较经典的问题,虽然都是基础的东西,但越是基础的我们有时反而没有把它弄清楚,值得记一下:\n#####1、使用==比较Integer的误区\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;对于Integer平时经常用算是十分熟悉了,但是比较两个Integer的大小是不能用==的,Integer是对象类型,特殊情况是当数值在-128到127之间时是可以进行比较的,原因是java为了提升性能和节省内存,好像是JDK在1.5版本中把-128到127之间的数字做了缓存,在这范围内的数值如果使用Integer.valueOf()方法的话自动装箱都是从缓存中获取的,返回的是同一个数字,但是如果是调用new Integer()的话是不会从缓存中取的,还有就是如果超过边界的话同样也是不等的。\n\n```java\n\n    @Test\n    public void testInteger() {\n        Integer a127 = 127;\n        Integer b127 = 127;\n        Integer a128 = 128;\n        Integer b128 = 128;\n\n        System.out.println(\"a127 == b127 -> \" + (a127 == b127));  //结果返回 true\n        System.out.println(\"a128 == b128 -> \" + (a128 == b128));  //结果返回 false\n    }\n\n\n```\n\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;与Integet联系最近的是int,int作为java的原始数据类型之一,其封装类正是Integer,需要补充一点的是当int和Integer比较时,是不会出问题的,因为Integer会自动拆箱为int,相当于int和int作比较。\n\n\n#####2、两个、多个double类型求和问题\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当使用double类型进行运算时会发生精度丢失的问题,这也是一个基础常见却容易被忽视的问题。先看例子\n\n\n```java\n\n    @Test\n    public void  testDouble(){\n        double a = 1.13;\n        double b = 1.14;\n\n        System.out.println(a+b);  //结果是2.2699999999999996\n        System.out.println(a+a);  //结果是2.26\n        System.out.println(b+b);  //结果是2.28\n    }\t\n\n```\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;原因是因为double数值在求和或做减法的时候,需要将数值转换为二进制的数值,在转换过程中,存储小数部分的位数会有不够的现象,也就是无限循环小数,这就会造成微差。解决方法其实也很简单使用BigDecimal对象:\n\n\n```java\n\n    public BigDecimal add(double d1, double d2) {\n        BigDecimal bd1=new BigDecimal(Double.toString(d1));\n        BigDecimal bd2 = new BigDecimal(Double.toString(d2));\n        return bd1.add(bd2);\n    }\t\n\n```",
      "json_metadata": "{\"tags\":[\"blog\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/09/26 10:50:09
parent authorsamon
parent permlinkretrofit-okhttp-fatal-exception-okhttp-dispatcher
authormillibot
permlinkre-retrofit-okhttp-fatal-exception-okhttp-dispatcher-20180926t105004
title
bodyThis post has been upvoted for free by @millibot with 5%! Get better upvotes by bidding on me. More profits? 100% Payout! Delegate some SteemPower to @millibot: [1 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=2049%20VESTS), [5 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=10245%20VESTS), [10 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=20489%20VESTS), [custom amount](https://steembottracker.com/delegation.html) You like to bet and win 20x your bid? Have a look at @gtw and [this description](https://steemit.com/guessthewitness/@isnochys/guess-the-witness-steemdice-for-witnesses)!
json metadata
Transaction InfoBlock #26280395/Trx 598c77a1617e4f22f8ba02e6bdc08977b1353c9a
View Raw JSON Data
{
  "trx_id": "598c77a1617e4f22f8ba02e6bdc08977b1353c9a",
  "block": 26280395,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-09-26T10:50:09",
  "op": [
    "comment",
    {
      "parent_author": "samon",
      "parent_permlink": "retrofit-okhttp-fatal-exception-okhttp-dispatcher",
      "author": "millibot",
      "permlink": "re-retrofit-okhttp-fatal-exception-okhttp-dispatcher-20180926t105004",
      "title": "",
      "body": "This post has been upvoted for free by @millibot with 5%! \n Get better upvotes by bidding on me.\nMore profits? 100% Payout! Delegate some SteemPower to @millibot:  [1 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=2049%20VESTS), [5 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=10245%20VESTS), [10 SP](https://v2.steemconnect.com/sign/delegateVestingShares?delegator=&delegatee=millibot&vesting_shares=20489%20VESTS), [custom amount](https://steembottracker.com/delegation.html)\nYou like to bet and win 20x your bid? Have a look at @gtw and [this description](https://steemit.com/guessthewitness/@isnochys/guess-the-witness-steemdice-for-witnesses)!",
      "json_metadata": ""
    }
  ]
}
2018/09/26 10:50:03
votermillibot
authorsamon
permlinkretrofit-okhttp-fatal-exception-okhttp-dispatcher
weight500 (5.00%)
Transaction InfoBlock #26280393/Trx d0e0f4ee39b2c78df248853640c49f8da2eb4955
View Raw JSON Data
{
  "trx_id": "d0e0f4ee39b2c78df248853640c49f8da2eb4955",
  "block": 26280393,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-09-26T10:50:03",
  "op": [
    "vote",
    {
      "voter": "millibot",
      "author": "samon",
      "permlink": "retrofit-okhttp-fatal-exception-okhttp-dispatcher",
      "weight": 500
    }
  ]
}
2018/09/26 10:48:54
parent author
parent permlinktechnology
authorsamon
permlinkretrofit-okhttp-fatal-exception-okhttp-dispatcher
titleRetrofit + okHttp使用中遇到的FATAL EXCEPTION: OkHttp Dispatcher问题
body前几天使用retrofit + okHttp 时出现一个问题,大致情况是使用okHttp上传视频文件时app闪退,错误如下: ```java FATAL EXCEPTION: OkHttp Dispatcher Process: com.******.******.******, PID: 26206 java.lang.OutOfMemoryError: Failed to allocate a 144207294 byte allocation with 16765168 free bytes and 109MB until OOM at java.lang.StringFactory.newStringFromBytes(StringFactory.java:79) at java.lang.StringFactory.newStringFromBytes(StringFactory.java:207) at okio.Buffer.readString(Buffer.java:616) at okio.Buffer.readString(Buffer.java:599) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:199) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:170) at okhttp3.RealCall.access$100(RealCall.java:33) at okhttp3.RealCall$AsyncCall.execute(RealCall.java:120) at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;开始因为下面还有 OutOfMemoryError 的错,怀疑是视频有问题检查,视频文件正常大小有110M,虽然大点但不应该有问题,后来定位到自定义的okHttpClient配置的log拦截器处报错: ```java //新建log拦截器 HttpLoggingInterceptor loggingInterceptor=new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() { @Override public void log(String message) { try { L.w("屏幕修复api"," "+message); //报错处 } catch (Exception e) { e.printStackTrace(); L.w("屏幕修复api Exception",e.toString()); } } }); ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{}catch()是调试的时候加的,即使加上try{}catch()仍然报错,所以说HttpLoggingInterceptor内部的错,于是各种查资料,类似情况还真有比较普遍原因是: ```java String data=response.body().string(); //.string()方法使用次数超过了一次。没错,你只能使用一次,至于原因看下面的源码分析。 //所以讲Log.d(“xx”,response.body().string());果断的注释掉吧。 ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;感觉上面的错误只是方法调用有问题,不是真正的原因,继续查找,最后在Github okHttp的源码issues中找到这个[cancel a async call will cause FATAL EXCEPTION #1049](https://github.com/square/okhttp/issues/1049),源码作者之一在issues下说:We are seeing this issue too when we call cancel operation.当 call cancel operation 时会发生这个错误,至此问题算是清楚了。 总结:我的代码引起这个错的原因不值一提,是在上传文件时同时传有其他参数,那个参数不符合服务器要求,所以服务器不接收request(文件、参数1、参数2...),那么app这边就会 call cancel operation 引起了app闪退,算是okhttp的一个bug,作者最后也说了:I was hoping if we could either catch that exception properly, or find a way to neglect that issue ?所以这个bug不会被catch到,我们更拿不到这个错误,也就无法处理,app就直接闪退了。
json metadata{"tags":["technology"],"links":["https://github.com/square/okhttp/issues/1049"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #26280370/Trx 364ad7e66eaf1d98579dd10166571b177bd28e81
View Raw JSON Data
{
  "trx_id": "364ad7e66eaf1d98579dd10166571b177bd28e81",
  "block": 26280370,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-09-26T10:48:54",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "technology",
      "author": "samon",
      "permlink": "retrofit-okhttp-fatal-exception-okhttp-dispatcher",
      "title": "Retrofit + okHttp使用中遇到的FATAL EXCEPTION: OkHttp Dispatcher问题",
      "body": "前几天使用retrofit + okHttp 时出现一个问题,大致情况是使用okHttp上传视频文件时app闪退,错误如下:\n\n```java \n \nFATAL EXCEPTION: OkHttp Dispatcher\n\nProcess: com.******.******.******, PID: 26206\njava.lang.OutOfMemoryError: Failed to allocate a 144207294 byte allocation with 16765168 free bytes and 109MB until OOM\n   at java.lang.StringFactory.newStringFromBytes(StringFactory.java:79)\n   at java.lang.StringFactory.newStringFromBytes(StringFactory.java:207)\n   at okio.Buffer.readString(Buffer.java:616)\n   at okio.Buffer.readString(Buffer.java:599)\n   at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:199)\n   at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)\n   at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)\n   at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:170)\n   at okhttp3.RealCall.access$100(RealCall.java:33)\n   at okhttp3.RealCall$AsyncCall.execute(RealCall.java:120)\n   at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)\n   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)\n   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)\n```\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;开始因为下面还有 OutOfMemoryError 的错,怀疑是视频有问题检查,视频文件正常大小有110M,虽然大点但不应该有问题,后来定位到自定义的okHttpClient配置的log拦截器处报错:\n\n```java\n    \n//新建log拦截器\n\n        HttpLoggingInterceptor loggingInterceptor=new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {\n            @Override\n            public void log(String message) {\n                try {\n                    L.w(\"屏幕修复api\",\" \"+message); //报错处\n                } catch (Exception e) {\n                    e.printStackTrace();\n                    L.w(\"屏幕修复api  Exception\",e.toString());\n                }\n\n            }\n        });\n```\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try{}catch()是调试的时候加的,即使加上try{}catch()仍然报错,所以说HttpLoggingInterceptor内部的错,于是各种查资料,类似情况还真有比较普遍原因是:\n\n```java\nString data=response.body().string();\n//.string()方法使用次数超过了一次。没错,你只能使用一次,至于原因看下面的源码分析。\n\n//所以讲Log.d(“xx”,response.body().string());果断的注释掉吧。\n```\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;感觉上面的错误只是方法调用有问题,不是真正的原因,继续查找,最后在Github okHttp的源码issues中找到这个[cancel a async call will cause FATAL EXCEPTION #1049](https://github.com/square/okhttp/issues/1049),源码作者之一在issues下说:We are seeing this issue too when we call cancel operation.当 call cancel operation 时会发生这个错误,至此问题算是清楚了。\n\n总结:我的代码引起这个错的原因不值一提,是在上传文件时同时传有其他参数,那个参数不符合服务器要求,所以服务器不接收request(文件、参数1、参数2...),那么app这边就会 call cancel operation 引起了app闪退,算是okhttp的一个bug,作者最后也说了:I was hoping if we could either catch that exception properly, or find a way to neglect that issue ?所以这个bug不会被catch到,我们更拿不到这个错误,也就无法处理,app就直接闪退了。",
      "json_metadata": "{\"tags\":[\"technology\"],\"links\":[\"https://github.com/square/okhttp/issues/1049\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
steemdelegated 18.491 SP to @samon
2018/09/25 03:08:12
delegatorsteem
delegateesamon
vesting shares30109.976054 VESTS
Transaction InfoBlock #26242520/Trx 6c342280b585d7d2d632e5f50c5cbe92e1ef90da
View Raw JSON Data
{
  "trx_id": "6c342280b585d7d2d632e5f50c5cbe92e1ef90da",
  "block": 26242520,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-09-25T03:08:12",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "samon",
      "vesting_shares": "30109.976054 VESTS"
    }
  ]
}
steemcreated a new account: @samon
2018/09/25 01:23:45
fee0.100 STEEM
delegation30690.000000 VESTS
creatorsteem
new account namesamon
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM6yhYMZY2dfBW9A53xofyXxBoat64cAMLF74FxTnYDRwXosyHgX",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM6LJrAGBsoyqhTCgCiJnVMUd7yZ6o1aUNb7VESYzgMZ425Mknrp",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM7kD6xWoQpKPqtJeBdiGfQXPQke5UvLxYWC9BqHRDhDhSSvWuSd",1]]}
memo keySTM6taSYrcuAkmriPQQQXLp97P4adciHY29LcudRE9tqorZr8Spbt
json metadata{}
extensions[]
Transaction InfoBlock #26240432/Trx 0ba8aece4440a9a78e48ac5bf9ca3fd85ec8d42f
View Raw JSON Data
{
  "trx_id": "0ba8aece4440a9a78e48ac5bf9ca3fd85ec8d42f",
  "block": 26240432,
  "trx_in_block": 7,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-09-25T01:23:45",
  "op": [
    "account_create_with_delegation",
    {
      "fee": "0.100 STEEM",
      "delegation": "30690.000000 VESTS",
      "creator": "steem",
      "new_account_name": "samon",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM6yhYMZY2dfBW9A53xofyXxBoat64cAMLF74FxTnYDRwXosyHgX",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM6LJrAGBsoyqhTCgCiJnVMUd7yZ6o1aUNb7VESYzgMZ425Mknrp",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM7kD6xWoQpKPqtJeBdiGfQXPQke5UvLxYWC9BqHRDhDhSSvWuSd",
            1
          ]
        ]
      },
      "memo_key": "STM6taSYrcuAkmriPQQQXLp97P4adciHY29LcudRE9tqorZr8Spbt",
      "json_metadata": "{}",
      "extensions": []
    }
  ]
}

Account Metadata

POSTING JSON METADATA
None
JSON METADATA
None
{
  "posting_json_metadata": {},
  "json_metadata": {}
}

Auth Keys

Owner
Single Signature
Public Keys
STM6yhYMZY2dfBW9A53xofyXxBoat64cAMLF74FxTnYDRwXosyHgX1/1
Active
Single Signature
Public Keys
STM6LJrAGBsoyqhTCgCiJnVMUd7yZ6o1aUNb7VESYzgMZ425Mknrp1/1
Posting
Single Signature
Public Keys
STM7kD6xWoQpKPqtJeBdiGfQXPQke5UvLxYWC9BqHRDhDhSSvWuSd1/1
Memo
STM6taSYrcuAkmriPQQQXLp97P4adciHY29LcudRE9tqorZr8Spbt
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6yhYMZY2dfBW9A53xofyXxBoat64cAMLF74FxTnYDRwXosyHgX",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM6LJrAGBsoyqhTCgCiJnVMUd7yZ6o1aUNb7VESYzgMZ425Mknrp",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7kD6xWoQpKPqtJeBdiGfQXPQke5UvLxYWC9BqHRDhDhSSvWuSd",
        1
      ]
    ]
  },
  "memo": "STM6taSYrcuAkmriPQQQXLp97P4adciHY29LcudRE9tqorZr8Spbt"
}

Witness Votes

0 / 30
No active witness votes.
[]